企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# XML DOM 节点信息 nodeName、nodeValue 和 nodeType 属性包含有关节点的信息。 ## 尝试一下 - 实例 下面的实例使用 XML 文件 [books.xml](images/books.xml)。 函数 [loadXMLDoc()](dom_loadxmldoc.html),位于外部 JavaScript 中,用于加载 XML 文件。 [获取元素节点的节点名称](/try/try.php?filename=try_dom_nodename3) 本例使用 nodeName 属性来获取 "books.xml" 中根元素的节点名称。 ``` <!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.documentElement.nodeName); </script> </body> </html> ``` [从文本节点获取文本](/try/try.php?filename=try_dom_getelement) 本例使用 nodeValue 属性来获取 "books.xml" 中第一个 &lt;title&gt; 元素的文本。 ``` <!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; document.write(txt); </script> </body> </html> ``` [更改文本节点中的文本](/try/try.php?filename=try_dom_changeelement) 本例使用 nodeValue 属性来更改 "books.xml" 中第一个 &lt;title&gt; 元素的文本。 ``` <!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; document.write(txt); </script> </body> </html> ``` [获取元素节点的节点名称和类型](/try/try.php?filename=try_dom_root) 本例使用 nodeName 和 nodeType 属性来获取 "books.xml" 中根元素的节点名称和类型。 ``` <!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.documentElement.nodeName); document.write("<br>"); document.write(xmlDoc.documentElement.nodeType); </script> </body> </html> ``` ## 节点的属性 在 XML DOM 中,每个节点都是一个**对象**。 对象拥有方法和属性,并可通过 JavaScript 进行访问和操作。 三个重要的节点属性是: * nodeName * nodeValue * nodeType ## nodeName 属性 nodeName 属性规定节点的名称。 * nodeName 是只读的 * 元素节点的 nodeName 与标签名相同 * 属性节点的 nodeName 是属性的名称 * 文本节点的 nodeName 永远是 #text * 文本节点的 nodeName 永远是 #document [尝试一下.](/try/try.php?filename=try_dom_nodename3) ## nodeValue 属性 nodeValue 属性规定节点的值。 * 元素节点的 nodeValue 是 undefined * 文本节点的 nodeValue 是文本本身 * 属性节点的 nodeValue 是属性的值 ## 获取元素的值 下面的代码检索第一个 &lt;title&gt; 元素的文本节点的值: ## 实例 ``` xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; ``` 结果:txt = "Everyday Italian" 实例解释: 1. 使用 [loadXMLDoc()](dom-loadxmldoc.html) 把 "[books.xml](images/books.xml)" 载入 xmlDoc 中 2. 获取第一个 &lt;title&gt; 元素节点的文本节点 3. 把 txt 变量设置为文本节点的值 ## 更改元素的值 下面的代码更改第一个 &lt;title&gt; 元素的文本节点的值: ## 实例 ``` xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; ``` 实例解释: 1. 使用 [loadXMLDoc()](dom-loadxmldoc.html) 把 "[books.xml](images/books.xml)" 载入 xmlDoc 中 2. 获取第一个 &lt;title&gt; 元素节点的文本节点 3. 更改文本节点的值为 "Easy Cooking" ## nodeType 属性 nodeType 属性规定节点的类型。 nodeType 是只读的。 最重要的节点类型是: | 节点类型 | NodeType | | :-- | :-- | | 元素 | 1 | | 属性 | 2 | | 文本 | 3 | | 注释 | 8 | | 文档 | 9 | [尝试一下。](/try/try.php?filename=try_dom_root)