菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO 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 GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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 节点列表


getElementsByTagName() 方法和 childNodes 属性会返回一个节点列表。


DOM Node List

使用 childNodes 或 getElementsByTagName() 等属性或方法时,会返回一个节点列表对象。

节点列表对象代表一个节点列表,节点顺序与 XML 中相同。

节点列表中的节点通过索引号访问,从 0 开始。

下图代表 books.xml 中 <title> 元素的节点列表

DOM node list

假设 "books.xml" 已加载到变量 xmlDoc 中。

此代码片段在 "books.xml" 中返回一个 title 元素的节点列表

x = xmlDoc.getElementsByTagName("title");

执行上述语句后,x 是一个节点列表对象。

以下代码片段从节点列表 (x) 中的第一个 <title> 元素返回文本

示例

var txt = x[0].childNodes[0].nodeValue;
自己动手试一试 »

执行上述语句后,txt = "Everyday Italian"。



Node List Length

节点列表对象会自行更新。如果删除或添加了元素,列表会自动更新。

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

此代码片段返回 "books.xml" 中 <title> 元素的数量

x = xmlDoc.getElementsByTagName('title').length;

执行上述语句后,x 的值将是 4。

可以使用节点列表的长度来循环遍历列表中的所有元素。

此代码片段使用 length 属性循环遍历 <title> 元素列表

示例

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;

for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

输出

Everyday Italian
Harry Potter
XQuery Kick Start
学习 XML
自己动手试一试 »

示例说明

  1. 假设 books.xml 已加载到 xmlDoc 中
  2. 将 x 变量设置为包含所有 title 元素的节点列表
  3. 从 <title> 元素中收集文本节点值

DOM Attribute List (Named Node Map)

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

这被称为命名节点映射,它与节点列表类似,但方法和属性有所不同。

属性列表会自行更新。如果删除或添加了属性,列表会自动更新。

此代码片段从 "books.xml" 中的第一个 <book> 元素返回属性节点列表

x = xmlDoc.getElementsByTagName('book')[0].attributes;

执行上述代码后,x.length 是属性的数量,并且可以使用 x.getNamedItem() 返回一个属性节点。

此代码片段获取 "category" 属性的值,以及一本书的属性数量

示例

x = xmlDoc.getElementsByTagName("book")[0].attributes;

txt = x.getNamedItem("category").nodeValue + " " + x.length;

输出

cooking 1
自己动手试一试 »

示例说明

  1. 假设 books.xml 已加载到 xmlDoc 中
  2. 将 x 变量设置为包含第一个 <book> 元素的所有属性的列表
  3. 获取 "category" 属性的值以及属性列表的长度

×

联系销售

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

报告错误

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

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

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