我有一个xml数据,其中有多个节点具有相同的名称,但我只想提取一个标签的值。
示例XML:
<update>
<family>
<name>Rajesh</name>
<age>35</age>
<kids>
<kid>
<name>Manu</name>
<age>2</age>
</kid>
</kids>
</family>
</update>
我正在尝试从族节点中提取name标记的值,但是孩子子节点下的“name”值也会被选中。
$name = $(data).find("name");
这给了我“RajeshManu”
如何在“家庭”下选择“姓名”的值,而不是“孩子”。
答案 0 :(得分:1)
请记住,在使用jQuery之前,需要解析XML。
$xml = $.parseXML(data);
然后你可以使用jQuery来匹配$xml
对象中的元素。
您可以使用children()
代替find()
。
这是因为find()
将获取当前所选元素的所有子元素和祖先。你只想要直接的孩子。
以相同的方式使用children()
将为您提供与所选选择器匹配的直接子项。
例如:
$name = $xml.find('family').children('name');
或者您可以使用>
选择器匹配它:
$name = $xml.find('family > name');