Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中访问XML文件的值_Javascript_Xml_Xml Parsing_Xmlhttprequest - Fatal编程技术网

在javascript中访问XML文件的值

在javascript中访问XML文件的值,javascript,xml,xml-parsing,xmlhttprequest,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

我在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>

知道如何检索路径吗?

您在第一行中正确使用了
getElementsByTagName
,然后又错误地使用了该路径

应该是

  var x = xml.getElementsByTagName('Path')[0];
  var y = x.getElementsByTagName('HD')[0];
  var z = y.getElementsByTagName('UNC')[0];
或者,更简单地说(如果你知道只有一个)

或者,从“许多”中获得第一个


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

getElementsByTagName
返回一个
集合
——正如您在
var x
中所意识到的,并在下一行代码中忘记了这一点!我不知道querySelector。它比尝试使用GetElements要简单得多。注意,它可能不是普遍可用的-尽管它从IE8开始就在internet explorer中,所以使用起来非常安全(我知道我知道,IE7中仍有很大比例)
  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];