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