菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS 网络安全 数据科学
     ❯   

XML 教程

XML 首页 XML 简介 XML 用途 XML 树 XML 语法 XML 元素 XML 属性 XML 命名空间 XML 显示 XML HttpRequest XML 解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 示例 XML 测验 XML 证书

XML AJAX

AJAX Introduction AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

XML DOM

DOM Introduction DOM Nodes DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Navigating DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM Examples

XPath 教程

XPath Introduction XPath Nodes XPath Syntax XPath Axes XPath Operators XPath Examples

XSLT 教程

XSLT Introduction XSL Languages XSLT Transform XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT on the Client XSLT on the Server XSLT Edit XML XSLT Examples

XQuery 教程

XQuery Introduction XQuery Example XQuery FLWOR XQuery HTML XQuery Terms XQuery Syntax XQuery Add XQuery Select XQuery Functions

XML DTD

DTD Introduction DTD Building Blocks DTD Elements DTD Attributes DTD Elements vs Attr DTD Entities DTD Examples

XSD Schema

XSD 简介 XSD 如何使用 XSD <schema> XSD 元素 XSD 属性 XSD 限制 XSD 复杂元素 XSD 空 XSD 仅元素 XSD 仅文本 XSD 混合 XSD 指示符 XSD <any> XSD <anyAttribute> XSD 替换 XSD 示例

XSD Data Types

XSD String XSD Date/Time XSD Numeric XSD Misc XSD Reference

Web Services

XML Services XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM Document DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM Parser XSLT 元素 XSLT/XPath 函数

XML DOM - 访问节点


使用 DOM,您可以访问 XML 文档中的每个节点。


访问节点

您可以通过三种方式访问节点:

  1. 通过使用 getElementsByTagName() 方法
  2. 通过循环(遍历)节点树
  3. 通过使用节点关系导航节点树

getElementsByTagName() 方法

getElementsByTagName() 返回所有具有指定标签名的元素。

语法

node.getElementsByTagName("tagname");

示例

以下示例返回 x 元素下的所有 <title> 元素

x.getElementsByTagName("title");

请注意,上面的示例仅返回 x 节点下的 <title> 元素。要返回 XML 文档中的所有 <title> 元素,请使用

xmlDoc.getElementsByTagName("title");

其中 xmlDoc 是文档本身(文档节点)。



DOM 节点列表

getElementsByTagName() 方法返回一个节点列表。节点列表是节点的数组。

x = xmlDoc.getElementsByTagName("title");

x 中的 <title> 元素可以通过索引号访问。要访问第三个 <title>,您可以这样写:

y = x[2];

注意:索引从 0 开始。

亲自尝试


DOM 节点列表长度

length 属性定义了节点列表的长度(节点的数量)。

您可以通过使用 length 属性遍历节点列表

示例

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // 对每个节点执行一些操作
  }
自己动手试一试 »

节点类型

XML 文档的 documentElement 属性是根节点。

节点的 nodeName 属性是节点的名称。

节点的 nodeType 属性是节点的类型。

您将在本教程的下一章中了解更多关于节点属性的信息。

亲自尝试


遍历节点

以下代码遍历根节点的子节点,这些子节点也是元素节点

示例

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // 只处理元素节点(类型 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}
自己动手试一试 »

示例说明

  1. 假设您已将 "books.xml" 加载到 xmlDoc 中
  2. 获取根元素 (xmlDoc) 的子节点
  3. 对于每个子节点,检查节点类型。如果节点类型为 "1",则它是一个元素节点
  4. 如果节点是元素节点,则输出节点的名称

导航节点关系

以下代码使用节点关系导航节点树

示例

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // 只处理元素节点(类型 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}
自己动手试一试 »

示例说明

  1. 假设您已将 "books.xml" 加载到 xmlDoc 中
  2. 获取第一个 book 元素的子节点
  3. 将“y”变量设置为第一个 book 元素的第一个子节点
  4. 对于每个子节点(从第一个子节点“y”开始)
  5. 检查节点类型。如果节点类型为“1”,则它是一个元素节点
  6. 如果节点是元素节点,则输出节点的名称
  7. 将“y”变量设置为下一个兄弟节点,并再次运行循环

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持