在javascript中访问XML文件的值

时间:2015-11-30 09:37:56

标签: javascript xml xml-parsing xmlhttprequest

我在js文件中使用XMLHTTPRequest加载XML文档,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RMFSFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Host>www.example.com</Host>
<Port>8888</Port>   
<Uri>www.example.com</Uri>
<Path>
    <HD>
        <UNC>path1</UNC>
    </HD>
    <SD>
        <UNC>path2</UNC>
    </SD>
</Path>

我正在尝试使用javascript为HD选择“ UNC ”的值。

我尝试了类似下面的内容,但没有效果:

      var x = xml.getElementsByTagName('Path')[0];
      var y = x.getElementsByTagName('HD');
      var z = y.getElementsByTagName('UNC');

任何想法如何检索路径?

1 个答案:

答案 0 :(得分:2)

您在第一行正确使用getElementsByTagName,然后在

之后错误地使用 var x = xml.getElementsByTagName('Path')[0]; var y = x.getElementsByTagName('HD')[0]; var z = y.getElementsByTagName('UNC')[0];

应该是

var z = xml.querySelector('Path>HD>UNC');

或更简单(如果你知道只会有一个)

var z = xml.querySelectorAll('Path>HD>UNC')[0];

或者,获得“很多”的第一个

For Each

我忽略了你的XML无效的事实,顺便说一下,我认为这是在这里发布时遗漏的一行