0

如何使用 javascript 获取我的 xml 数据的值。我在我的域上访问我的 xml 文件,并在客户端查看它。

我的.xml

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

我想获得“getThis”的价值

示例.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

尝试在and之间添加.item(0)or :[0]getElementsByTagName(...).nodeValue

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

您将需要它作为getElementsByTagName返回 a NodeList(可能类似于 a 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 回答