XMLDOM初学笔记(四)

 

【本文是在阅读www.w3school.com.cn的教程时随手记下的内容,以免遗忘】

 

节点的属性

XML 文档对象模型 (DOM) 中,每个节点都是一个对象

对象拥有方法(功能)和属性(关于对象的信息),并可通过 JavaScript 进行访问和操作。

三个重要的 XML DOM 节点属性是:

  • nodeName
  • nodeValue
  • nodeType

nodeName 属性

nodeName 属性规定节点的名称。

  • nodeName 是只读的
  • 元素节点的 nodeName 与标签名相同
  • 属性节点的 nodeName 是属性的名称
  • 文本节点的 nodeName 永远是 #text
  • 文档节点的 nodeName 永远是 #document

nodeValue 属性

nodeValue 属性规定节点的值。

  • 元素节点的 nodeValue undefined
  • 文本节点的 nodeValue 是文本自身
  • 属性节点的 nodeValue 是属性的值
  • nodeType 属性
  • nodeType 属性规定节点的类型。
  • nodeType 是只读的。
  • 最重要的节点类型是:

元素类型

节点类型

元素

1

属性

2

文本

3

注释

8

文档

9

 

DOM Node List

当使用诸如 childNodes getElementsByTagName() 属性或方法时,会返回 NodeList 对象。

NodeList 对象表示节点的列表,以 XML 中的相同顺序。

使用从 0 开始的下标来访问节点列表中的节点。

Node List Length

NodeList 对象会保持自身的更新。如果删除或添加了元素,列表会自动更新。

节点列表的 length 属性是列表中节点的数量。

DOM Attribute List (Named Node Map)

元素节点的 attributes 属性返回属性节点的列表。

这被称为 Named Node Map,除了方法和属性上的一些差别以为,它与节点列表相似。

属性列表会保持自身的更新。如果删除或添加属性,这个列表会自动更新。

遍历 (Traverse) 意味着在节点树中进行循环或移动。

遍历节点树

您经常需要循环 XML 文档,比如:当你需要提取每个元素的值时。

这个过程叫作"遍历节点树"

定位 DOM 节点

通过节点间的关系访问节点树中的节点,通常称为定位节点 "navigating nodes")。

XML DOM 中,节点的关系被定义为节点的属性:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

避免空的文本节点

Firefox,以及其他一些浏览器,把空的空白或换行当作文本节点,而 IE 不会这么做。 这会在使用下列属性使产生一个问题:firstChildlastChildnextSiblingpreviousSibling 为了避免定位到空的文本节点(元素节点之间的空格和换行符号),我们使用一个函数来检查节点的类型:

function  get_nextSibling(n) 

y
=n.nextSibling; 
while (y.nodeType!=1

y
=y.nextSibling; 
}
 
return y; 
}
 


有了上面的函数,我们就可以使用 get_nextSibling(node) 来代替 node.nextSibling 属性。

你可能感兴趣的:(XMLDOM)