我有一个 xml 数据,其中有多个同名节点,但我只想提取一个标签的值。
示例 XML:
<update>
<family>
<name>Rajesh</name>
<age>35</age>
<kids>
<kid>
<name>Manu</name>
<age>2</age>
</kid>
</kids>
</family>
</update>
我正在尝试从家庭节点中提取姓名标签的值,但 child 子节点下的“姓名”值也被选中。
$name = $(data).find("name");
这给了我“RajeshManu”
如何仅选择家庭下“姓名”的值,而不是“ child ”下的值。
最佳答案
请记住,您需要先解析 XML,然后才能使用 jQuery。
$xml = $.parseXML(data);
然后您可以使用 jQuery 来匹配 $xml
对象内的元素。
您可以使用children()
代替find()
。
这是因为 find()
将获取当前所选元素的所有子元素和祖先元素。您只想要直系 child 。
以同样的方式使用 children()
将只给出与所选选择器匹配的直接子级。
例如:
$name = $xml.find('family').children('name');
<小时/>
或者您可以使用 >
选择器来匹配它:
$name = $xml.find('family > name');
关于javascript - 使用Jquery提取特定的xml节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939057/