2011年04月16日

XMLを正規表現を利用してパース

XMLをDOMパースしようとした所、Android2.1で異常に遅かったので正規表現を利用してパース。

data = data.replace(/\n/g, "");
var regexp = new RegExp(/<\/name>/g),m;
while (m = regexp.exec(data)) {
console.log(m[1]);
}


複数の項目を取得したい場合は次のような正規表現

data = data.replace(/\n/g, "");
var regexp = new RegExp(/<\/name>.+?
(.+?)<\/address>/g),m;
while (m = regexp.exec(data)) {
console.log(m[1]);
console.log(m[2]);
}


nodeの出現順番に依存するけどDOMを利用するより当社比、数百倍高速。

あとは、配列に入れて煮るなり焼くなりしてください。


タグ:xml
posted by ねこまんま at 04:16 | Comment(0) | TrackBack(0) | テクニック | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。