javascript - 使用Jquery提取特定的xml节点

标签 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>

我正在尝试从家庭节点中提取姓名标签的值,但 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/

相关文章:

jquery - 我怎么知道有多少个子元素在我之上

xml - 实现PowerShell XML to CSV解决方案的问题

javascript - 单击 <a> 标记时,如果选择"is"作为选项,则显示叠加层并遵循 <a> 的 href URL

asp.net - jQuery Ajax 调用 - 成功时设置变量值

javascript - 如何防止默认右键单击包含图像的 Canvas

jquery - Select2 jQuery 无法获取所选元素

java - AEM 中的多字段组件 - 不保存值

xml - 默认声明了哪些 XML 命名空间?

javascript - 如何在禁用 $sceProvider 的情况下利用 Angular 中的 XSS

javascript - 将鼠标悬停在导航链接上时如何防止持续闪烁?