我在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');
任何想法如何检索路径?
答案 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无效的事实,顺便说一下,我认为这是在这里发布时遗漏的一行