【发布时间】:2011-09-25 16:57:56
【问题描述】:
当我尝试使用 libxmljs 解析以下 xml 时,我感到困惑:
标题 1标题> 总结1总结> 结果> 标题 2标题> 总结2总结> 结果> 结果集>我尝试了以下代码:
var libxmljs = require("libxmljs");
var xmlDoc = libxmljs.parseXmlFile("sample.xml");
xmlDoc.root().childNodes().length; // 5
我认为第三行的长度属性应该是 2, 因为有 2 个 Result 节点,它们是根节点的子节点。
顺便说一句,我检查了每个元素,例如:
xmlDoc.root().childNodes()[0].get("Title").text(); // TypeError: Cannot call method 'text' of undefined
xmlDoc.root().childNodes()[1].get("Title").text(); // Title 1
xmlDoc.root().childNodes()[2].get("Title").text(); // TypeError: Cannot call method 'text' of undefined
xmlDoc.root().childNodes()[3].get("Title").text(); // Title 2
xmlDoc.root().childNodes()[4].get("Title").text(); // TypeError: Cannot call method 'text' of undefined
为什么会有一些不相关的子节点?提前致谢!
(我的 libxmljs 版本是 0.4.2)
【问题讨论】:
-
听起来像是将空格解析为子节点。尝试删除输入 xml 中的空格
-
谢谢!但是删除空格和换行符并没有改变这种情况。
-
对不起,雷诺斯。你写的是对的。删除空格实际上很顺利。谢谢!
标签: javascript xml node.js libxml2