Excelで管理してるデータが重いので、XMLにして、JavaScriptで読み込んだら早いんじゃね?って思ってちょっと作ってみました。
でも結局あるxmlの要素に文字データが多くて、さらに1000件ぐらいあったら結構重くなってしまったので・・・これは使えません。
サンプル
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
function xmlDisplay(filename){
xml_doc = new ActiveXObject("Microsoft.XMLDOM");
xml_doc.async = false;
xml_doc.load(filename);
if(!xml_doc.documentElement.hasChildNodes()){
return false;
}
var count = xml_doc.documentElement.childNodes.length;//件数取得
var root = xml_doc.documentElement.firstChild;//ルート要素の子要素を取得
var userCnt; //子要素のデータ件数
//子要素データ取得
var ret = new Array(count);
ret[0] = count;
var arrayCnt = 1;
while(root){
userCnt = root.childNodes.length;//子要素の件数取得
var item = new Array(userCnt)
item[0] = root.getAttributeNode("author").value;//author属性の取得
item[1] = root.getAttributeNode("id").value;//id属性の取得
for(i = 0; i < userCnt; i++){
item[i + 2] = nl2br(root.childNodes.item(i).text);//子要素の件数文だけ情報を取得する
}
ret[arrayCnt] = item;
arrayCnt++;
root = root.nextSibling;//次のノードを取得
}
return ret;
}
|
XMLファイル
1
2
3
4
5
6
7
|
<user author="polidog" id="00001">
<area>アジア</area>
<address>http://www.polidog.jp/</address>
<description>テスト</description>
</user>
</root>
|
こんな感じでXML_DOM使って作ってみたわけです。
なのでIEでしか動きませんよー!!
XPathとか使ったほうが早く動作するのかなぁー。ちょっとがんばってみます。