使用Jquery提取特定的xml节点

时间:2015-08-11 10:16:32

标签: javascript jquery xml

我有一个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”

如何在“家庭”下选择“姓名”的值,而不是“孩子”。

1 个答案:

答案 0 :(得分:1)

请记住,在使用jQuery之前,需要解析XML。

$xml = $.parseXML(data);

然后你可以使用jQuery来匹配$xml对象中的元素。

您可以使用children()代替find()

这是因为find()将获取当前所选元素的所有子元素和祖先。你只想要直接的孩子。

以相同的方式使用children()将为您提供与所选选择器匹配的直接子项。

例如:

$name = $xml.find('family').children('name');

或者您可以使用>选择器匹配它:

$name = $xml.find('family > name');