- - PR -
XSLでソートしたXMLデータをDOMで触りたい(JS)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2001-10-23 18:11
いつもお世話になります。Hiroです。現在Javascriptを使って
HTMLよりDOMオブジェクトを叩いてXMLデータを取ってくる事を しています。データはSortをかけたかったのでXSLを別ファイルにして XML DATAに対し transformNodeでソートを掛けました。 返ってきた値にalertでデータを表示させるとちゃんと変換されています。 がそれを今度はDOMオブジェクトで読もうとするともうオブジェクトではない (文字列扱い)と怒られてしまい せっかくソートしたXMLデータを 作ったのにそれに対しDOMで触れないという事になってしまいました。 もう一度DOMオブジェクトにしてあげたいんですがどうすれば よいでしょうか?皆様 どうぞよろしくお願い申し上げます。 //以下がソースです。 var objXMLDOM=new ActiveXObject("Microsoft.XMLDOM"); var objXSLSort=new ActiveXObject("Microsoft.XMLDOM"); var objXMLDoc=new ActiveXObject("Microsoft.XMLDOM"); objXMLDOM.async=false; objXSLSort.async=false; objXMLDOM.load("./xml/data.xml"); //XMLデータの読み込み objXSLSort.load("./xml/sort.xsl");//ソートXSLの読み込み //ソートの開始 objXMLDoc=objXMLDOM.transformNode(objXSLSort); aleret(objXMLDoc.document.Element.nodeName);//ERROR |
|
投稿日時: 2001-10-23 18:13
aleret->alertです。すいません。
|
|
投稿日時: 2001-10-23 19:37
もしハズしてたらすみません。
XSLT をかまして変換した後のデータは、やっぱりタグ付けされた XML ですよね。それでしたら、それを読み込むのに load じゃなくて loadXML メソッドを使ったら駄目でしょうか。 _________________ www.kojii.net |
|
投稿日時: 2001-10-24 16:56
inopeeさん いつも返答ありがとうございます。
objXMLDoc.loadXML(objXMLDOM.transformNode(objXSLSort)); 以上のようにtransformNodeを掛けてtext扱いになったのをさらにloadXMLをかけて オブジェクトにする事が出来ました。ありがとうございました。 あともう一つお聞きしたいのですが alert(objXMLDoc.documentElement.childNodes.item(0).childNodes.item(0).text); とするとノードの中の値が取得出来ますが int型で何番目のタグと指定するのでは なく childNodes.item("タイトル").text のようにタグ名を指定して取得する 方法はありますか? 例などを見るとループさせて childNodes.item(ループカウント).baseName=="タイトル"と if文で調べて処理をしているようなのですが。 以上 何度もお聞き申し訳ありません。よろしくお願いします。 javascriptでのDOMのたたき方の本を今日の帰り買って帰ろうと思います^^; |
|
投稿日時: 2001-10-24 19:31
getElementsByTagName というメソッドを使ったことがありますが、これ、
確か同名要素が複数あると、全部を選択してノードではなくノードセット を返してしまいます。そこで、その結果に対してインデックス番号を改め て指定してやり、特定のノード (IXMLDOMNode) を選択するという方法な ら、過去に使ってみたことがあります。 ひょっとすると、もっと頭のいい方法があるかもしれません。 _________________ www.kojii.net |
|
投稿日時: 2001-10-25 09:54
XPathが使えるかもしれませんね。
http://www.atmarkit.co.jp/fxml/rensai/msxml02/msxml03.html |
|
投稿日時: 2001-10-25 10:12
いつもお世話になります。Hiroです。
getElementsByTagName で 取得できました^^ さっそくHPで使ってみようと思います。 今回の場合は同じタグを複数存在しないデータ群なので 問題は起こりませんが 今後を考えXPATHも 覗いてみる事にします。 mikiさん inopeeさん どうもありがとうございました^^ |
1