XML DOM 教程
XML DOM 节点信息
节点属性:nodeName、nodeValue 以及 nodeType。
实例
下面的例子使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
- 获取元素节点的节点名称
- 本例使用 nodeName 属性来获取 "books.xml" 中根元素的节点名称。
- 从文本节点获取文本
- 本例使用 nodeValue 属性来获取 "books.xml" 中第一个 <title> 元素的文本。
- 更改文本节点中的文本
- 本例使用 nodeValue 属性来更改 "books.xml" 中第一个 <title> 元素的文本。
- 获取元素节点的节点名称和类型
- 本例使用 nodeName 和 nodeType 属性来获取 "books.xml" 中根元素的节点名称和类型。
节点的属性
在 XML 文档对象模型 (DOM) 中,每个节点都是一个对象。
对象拥有方法(功能)和属性(关于对象的信息),并可通过 JavaScript 进行访问和操作。
三个重要的 XML DOM 节点属性是:
- nodeName
- nodeValue
- nodeType
nodeName 属性
nodeName 属性规定节点的名称。
- nodeName 是只读的
- 元素节点的 nodeName 与标签名相同
- 属性节点的 nodeName 是属性的名称
- 文本节点的 nodeName 永远是 #text
- 文档节点的 nodeName 永远是 #document
TIY
nodeValue 属性
nodeValue 属性规定节点的值。
- 元素节点的 nodeValue 是 undefined
- 文本节点的 nodeValue 是文本自身
- 属性节点的 nodeValue 是属性的值
例子 1:获取元素的值
下面的代码检索第一个 <title> 元素的文本节点的值:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue;
结果:txt = "Harry Potter"
代码解释:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取第一个 <title> 元素节点的文本节点
- 把 txt 变量设置为文本节点的值
TIY
例子 2:更改元素的值
下面的代码更改第一个 <title> 元素的文本节点的值:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking";
代码解释:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取第一个 <title> 元素节点的文本节点
- 把文本节点的值更改为 "Easy Cooking"
TIY
nodeType 属性
nodeType 属性规定节点的类型。
nodeType 是只读的。
最重要的节点类型是:
元素类型 | 节点类型 |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |
TIY