我正在使用JavaScript在HTML文件中显示XML文档。到目前为止,所有内容都显示良好,但我想显示<date>
我的XML代码段如下所示:
<date>
<dow>Monday</dow>
<month>08</month>
<day>10</day>
<year>2011</year>
</date>
要显示第一级标签,我一直在编写以下文件:
document.write(x[i].getElementsByTagName("date")[0].childNodes[0].nodeValue);
然而,这不会显示<date>
。我需要定位childNodes <dow>
,<month>
,<day>
和<year>
。我可以调整当前的document.write
来实现这一目标吗?我对如何指导这个问题感到有些困惑,因为当第一级元素显示得很好时我不想重写我的整个代码。
非常感谢任何帮助。提前感谢您的时间。
答案 0 :(得分:2)
您可以在任何DOMElement上使用getElementsByTagName
:
var date = xml.getElementsByTagName("date")[0];
var dow = date.getElementsByTagName("dow")[0].childNodes[0].nodeValue;
console.log(dow);
最理想的是,您还应该在使用foo[0]
访问节点之前检查节点是否存在。
答案 1 :(得分:0)
http://jsfiddle.net/efortis/vZAmS/
var xml = "<date><dow>Monday</dow><month>08</month><day>10</day><year>2011</year></date>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$dow = $xml.find( "dow" );
document.write( $dow.text() );
答案 2 :(得分:0)
谢谢大家的帮助。我最终得到了儿童标签阅读。我实际上能够使用我用于父标签的相同代码;但是,这个document.write的放置让我头疼。我不得不重新格式化我的代码顺序。我把我原来的代码放在了页面上不合适的位置,是一个没脑子的错误。我在这里通过我的愚蠢错误学到了很多东西,我不会再那样做了。大声笑。这些也是很好的选择,所以我感谢你的帮助。我也会研究这些。