Javascript和xml解析
我有一个XML对象,我想返回可能有一些子节点的节点上的文本值。Javascript和xml解析
<binding name="s"><bnode>b1fff4d00000000fe</bnode></binding>
<binding name="p"><uri>http://cidoc-crm.org/P1F.is_identified_by</uri></binding>
<binding name="zebra"><literal>copper</literal></binding>
在上述情况下,我想要返回每个节点中的文本我可以指定绑定的名称值。
伪代码: 获取文本绑定名称的值==“s”;
我已经试过这
x[i].getElementsByTagName("binding")[0].childNodes[0].nodeValue
所以它不应该不管什么子节点的名字是在这种情况下,B节点。
我希望那个清楚
谢谢。
来获取文本内容将
x[i].getElementsByTagName("binding")[0].textContent;
但是最简单的方式,textContent
在IE < 9不支持的,所以你需要通过这些浏览器导航到文本节点:
x[i].getElementsByTagName("binding")[0].firstChild.firstChild.data;
还是这个......完全想到它......真的。 +1 – 2012-08-03 09:55:05
谢谢,下一个问题只需要解决如何返回绑定名称值。 – Sagarmichael 2012-08-03 09:56:10
@Sagarmichael:你什么意思? '
您正在尝试获取元素的nodeValue
方式导致null
。 [1]你想要的是包含文本节点的nodeValue
。因此,你必须到另一层遗憾的是到这个声明,您的发言成为
x[i].getElementsByTagName("binding")[0].childNodes[0].childNodes[0].nodeValue;
这将拉动内部元素的文本节点值。
[1]假引证只需点击链接dang it。
SUDO!你的意思是假,对。 – bugwheels94 2012-08-03 09:29:40
哎呀是的,我的意思是假的。 – Sagarmichael 2012-08-03 09:31:24
目前我正在尝试这样做。 x [i] .getElementsByTagName(“binding”)[0] .childNodes [0] .nodeValue – Sagarmichael 2012-08-03 09:32:14