Childnodes多个javascript XML

时间:2013-01-10 20:32:57

标签: javascript xml dom

在尝试退出XML时无法获得选择的孩子 - 在这种情况下,它是作者:

<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>

我无法获取javascript脚本来显示我选择的作者。这意味着如果我这样做。

txt=xmlDoc.getElementsByTagName("title")[2].childNodes[0].nodeValue;
document.write("<p>"+txt);

我得到'詹姆斯麦戈文'。但是

txt=xmlDoc.getElementsByTagName("title")[2].childNodes[1].nodeValue;
document.write("<p>"+txt);

不会给我'Per Bothner'。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

虽然我想知道你是如何得到你的结果的...... childNodes数组不仅包含元素,还包含(以及其他)文本节点,即行分隔符(CR / LF)。因此,您必须遍历数组,检查每个条目的节点类型。一个更好的选择是使用xpath选择有趣的元素,this article应该让你开始。

具体而言,/book/author将按文档顺序精确选择author个节点。