浏览元素的节点'JavaScript中的名称

Navigate an element through its nodes' names in JavaScript

本文关键字:JavaScript 元素 节点 浏览      更新时间:2023-09-26

我有一个类似的XML

[...]
<element>
  <nodeA></nodeA>
  <nodeB></nodeB>
</element>
<element>
  <nodeC></nodeC>
  <nodeA></nodeA>
</element>
[...]

正如您所看到的,节点不是必需的,它们可以以不同的顺序出现,所以我不能通过它们的索引作为元素的子级来访问它们。我知道我可以使用循环来检查元素的子节点的名称,然后使用开关来保存它们,但我想知道是否有更简单的方法来实现这一点,因为我有很多元素,检查它们的所有子节点需要一段时间。我也不能使用自定义对象,因为我必须将所有节点的内容作为有序数组传递给泛型函数。

如果你需要了解其他信息,请告诉我。提前谢谢。

编辑:我正在制作一个由五个子节点组成的五个对象的数组。我必须为那些缺失的设置默认值。子节点永远不会有子节点。最复杂的元素是:

<element>
  <nodeA></nodeA>
  <nodeB></nodeB>
  <nodeC></nodeC>
  <nodeD></nodeD>
  <nodeE></nodeE>
</element>

多亏了@Tomalak才得以解决。这是生成的代码:

var xmlDocument = loadXMLDocument("xml_file.xml");
function xmlReadAttribute(attributeName, index) {
    var attribute = xmlDocument.getElementsByTagName('Series')[index].getElementsByTagName(attributeName)[0];
    if (attribute !== undefined) return attribute.textContent;
    return '';
}