0

javascript を使用して xml データの値を取得するにはどうすればよいですか。ドメインの xml ファイルにアクセスし、クライアント側で表示します。

my.xml

<usr>
  <uid trk="1234">
    <getThis>kdzbnya</getThis>
  </uid>
</usr>

「getThis」の値を取得したい

sample.js

function alertThis(){
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        var xmlFile = "my.xml";
        xmlDoc.async="false";
        xmlDoc.load(xmlFile);
        xmlObj=xmlDoc.documentElement;
        try {
            var v = "";
            $.each(xmlObj.childNodes, function(i, valThis) { 
                if(valThis.getAttribute("trk") == "1234"){
                    v += valThis.getElementsByTagName('getThis').nodeValue;
                }   
            });
             alert(v);
        }
        catch(e){
            alert(e);
        }
}

しかし、未定義の値を返します。

4

3 に答える 3

2

と の間に.item(0)またはを追加してみてください:[0]getElementsByTagName(...).nodeValue

v += valThis.getElementsByTagName('getThis').item(0).nodeValue;

getElementsByTagNameを返すので、これが必要になりますNodeList(これは に似ている場合がありますArray)。nodeValueリスト自体はプロパティを持ちませんが、その中のノードは持つべきです。

于 2012-01-13T00:42:23.413 に答える
1

XML パーサーの例http://www.w3schools.com/xml/xml_parser.aspを参照してください。しかし実際には、おそらくフレームワークを使用して XML をロードし、解析したいと思うでしょう。そこにはたくさんの機能があります。探している機能については、microjs.com をチェックしてください。

于 2012-01-13T00:38:58.750 に答える
1

jQueryを使っているようです。

変化する

v += valThis.getElementsByTagName('getThis').nodeValue

v += $(valThis).find('getThis').text()
于 2012-01-13T00:43:20.040 に答える