Javascript 另一个GetelementbyTagname中的第二个GetelementbyTagname
我正在用JavaScript将XML字符串解析为XML文档。XML结构可能如下所示:Javascript 另一个GetelementbyTagname中的第二个GetelementbyTagname,javascript,xml,Javascript,Xml,我正在用JavaScript将XML字符串解析为XML文档。XML结构可能如下所示: <parent> <parent2> <x> <y1/> <xyz> <tra/> <xyz> <y2/> </x> <x
<parent>
<parent2>
<x>
<y1/>
<xyz>
<tra/>
<xyz>
<y2/>
</x>
<x>
<y1/>
</x>
..
</parent2>
</parent>
那么我该如何解决这个问题呢?x
的名称和位置甚至是固定的,可能不会更改。但是x内部的内容可以改变其结构。所以我想使用getElementsByTagName()
,因为我不知道树中的确切位置!但是如何使用getElementsByTagName()
nested
谢谢你的帮助
更新:XML的一切都很好!例如:
alert(xmldoc.getElementsByTagName('x')[2].getElementsByTagName('tra')[0].firstChild.nodeValue)代码>谢谢你的帮助 函数不返回XML文档。它返回一个元素数组。因此,您不能再次调用getElementsByTagName
函数。XML文档也可以正常工作!例如:alert(xmldoc.getElementsByTagName('x')[2].getElementsByTagName('tra')[0].firstChild.nodeValue)代码>GetelementbyTagname、getElementsbyTagName、getElementsbyTagName、GetelementbyTagname
。在一个问题中,你有4个相同方法的版本,它们都是不正确的。我要说检查以确保您使用的是getElementsByTagName()
。这是不正确的(我和您的想法一样)!您可以调用函数两次并得到结果!可以再次调用它的唯一原因是,在某些JavaScript实现中,当数组中只有一项时,它允许您直接对数组(array.something)进行操作,而不是访问数组中的第一项(array[0].something)。这样做永远都不安全,因为您永远不知道数组中有什么。可能有多个项目,或者您所在的系统不允许这样做。不管怎样,你的代码都会被破解。
var cX=xmldoc.getElementsByTagName('x');
alert(cX.getElementsByTagName('tra')[0].innerHTML)