在 XML DOM(文档对象模型)中,节点列表和命名节点图是两个重要的概念,用于表示 XML 文档中的节点结构。以下是对这两个概念的简要解释:

节点列表(NodeList):

节点列表是 XML DOM 中用于存储一组节点的对象。这些节点可以是元素、属性、文本节点等。节点列表通常是通过某些方法(例如 getElementsByTagName)返回的,允许开发者遍历和访问其中的节点。
// 获取所有 <book> 元素的节点列表
var bookNodes = xmlDoc.getElementsByTagName('book');

// 遍历节点列表并输出每个元素的标题
for (var i = 0; i < bookNodes.length; i++) {
  var titleElement = bookNodes[i].getElementsByTagName('title')[0];
  console.log('Title: ' + titleElement.textContent);
}

在这个例子中,getElementsByTagName 返回一个包含所有 <book> 元素的节点列表,然后通过遍历列表,获取每个元素的标题节点。

命名节点图(NamedNodeMap):

命名节点图是 XML DOM 中用于表示元素的属性集合的对象。它是一个键值对的集合,其中键是属性的名称,值是对应的属性节点。元素节点的 attributes 属性返回一个命名节点图。
// 获取第一个 <book> 元素
var bookElement = xmlDoc.getElementsByTagName('book')[0];

// 获取元素的属性节点图
var attributesMap = bookElement.attributes;

// 遍历命名节点图并输出属性名和值
for (var i = 0; i < attributesMap.length; i++) {
  var attributeName = attributesMap[i].nodeName;
  var attributeValue = attributesMap[i].nodeValue;
  console.log('Attribute: ' + attributeName + ', Value: ' + attributeValue);
}

在这个例子中,attributes 返回一个命名节点图,然后通过遍历命名节点图,获取每个属性的名称和值。

这些节点列表和命名节点图的概念使得开发者能够更灵活地处理和操作 XML 文档中的节点集合。


转载请注明出处:http://www.pingtaimeng.com/article/detail/12151/XML