XML DOM - NamedNodeMap 对象


XML DOM - NamedNodeMap 对象

NamedNodeMap 对象是XML DOM中的一个接口,代表了一个节点对象的属性集合。如果一个节点没有属性,那它的 NamedNodeMap 对象就是空集合。

NamedNodeMap 属性和方法:

属性

  • length:集合中节点的数量

方法

  • getNamedItem(name):返回指定名称的节点对象
  • setNamedItem(node):向集合中添加节点对象。添加成功返回 null,如果原先已经有了同名的节点,那就返回旧的节点对象(replaceChild)
  • removeNamedItem(name):从集合中移除指定名称的节点对象,并返回该节点对象。如果该节点对象不在集合中,就会抛出一个异常。

NamedNodeMap 实例

<person id="001" name="John" age="30" gender="M"></person>

获取 NamedNodeMap 对象

var personElement = xmlDoc.getElementsByTagName("person")[0];
var attributes = personElement.attributes;

统计属性数量

var numAttributes = attributes.length;

获取属性值

var age = personElement.getAttribute("age");

修改属性值

personElement.setAttribute("age", 28);

添加属性

var newAttribute = xmlDoc.createAttribute("address");
newAttribute.value = "123 Main Street";
personElement.setAttributeNode(newAttribute);

删除属性

personElement.removeAttribute("gender");

总结

NamedNodeMap 对象使得访问和修改节点的属性值变得更加容易。它提供了属性的集合,可以通过方法添加、获取或者删除这些属性。因为这个集合是基于名称的,所以我们可以非常方便地进行属性的访问和修改。