javascript - 使用 jQuery 遍历 XML 获取元素值

标签 javascript jquery xml

我有一些如下所示的 XML:

<closure1>
  <topClosure>
    <ellipsoidalHead>
      <standardComponentData>
        <variousElements>
        <idNumber>234567</idNumber>
        <nominalThickness units="in">0.3750</nominalThickness>
      </standardComponentData>
    </ellipsoidalHead>
  </topClosure>
</closure1>
<shell>
  <standardComponentData>
    <various_elements>
    <nominalThickness units="in">0.6250</nominalThickness>
    <idNumber>123456</idNumber>
  </standardComponentData>
</shell>
<nozzle>
  <standardComponentData>
    <various_elements>
    <attachedToidNumber>123456</attachedToidNumber>
  </standardComponentData>
<nozzle>

在我的 JS 代码中,我已经将 <nozzle> 元素 bomNode 作为 jQuery 集,即

var bomNode = $("nozzle");

因此,对于每个喷嘴元件,我需要

  1. 获取 <attachedToidNumber> 元素中 <nozzle> 的值。

  2. 查找包含匹配的 <idNumber> 的元素 <attachedToidNumber>(在本例中为<shell>)。

  3. 获取 <nominalThickess> 中的值 元素。

如您所见,所需的 <idNumber> 元素的深度可能会有所不同。这也是整个 XML 结构的一个非常小的子集,因此它可能非常大。

我尝试过这样的事情:

var attachedToElement = bomNode.parents().find('idNumber').text() === attachedToId;

但我得到了 false 返回。获得所需的 idNumber 值的最简单方法是什么?我确信这很简单,但我只是想念它。

谢谢。

更新:我意识到 bomNode 位于顶层,我不需要上去。一个等级。做这样的事情

var attachedToElement = bomNode.parents().siblings().find('idNumber')

给我一个包含 <idNumber> 元素的子元素列表。因此,我需要找到具有所需值(value)的那个。我的想法是使用 .each() 。但是,该值是在 .each() 函数之外定义的,因此我没有任何可匹配的内容。获得匹配列表后,获取具有我想要的 <idNumber> 值的集合的最简单方法是什么?

最佳答案

你是对的 - 你错过了一件简单的事情:

shell 不是 nozzle 的父级。他们是 sibling 。试试这个:

var attachedToElement = bomNode.siblings().find('idNumber').text() === attachedToId; 

但这将返回 true(如果为 true) - 而不是实际值。

关于javascript - 使用 jQuery 遍历 XML 获取元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44055863/

相关文章:

javascript - 为什么在 .vue 中声明的基于 ts 类的 vue 组件的静态方法只能在 .vue 的脚本 block 中工作?

javascript - 使用javascript检查字符串中是否有上标字符

javascript - 无法注入(inject)自定义存储库

jquery - 切换 div 时填充空白区域

java - 读取为数字代码而不是特殊字符

javascript - Ember 编辑模板

javascript - 在一个单词动画时移动文本

javascript - keditor 将 blob 生成的图像 URL 转换为 base64

python - 如何在python中读取excel xml文件

c - 在 PC 中为嵌入式目标构建 C 结构