THE WORLD'S LARGEST WEB DEVELOPER SITE

XML 教程

XML主页 XML简介 XML使用方法 XML Tree XML语法 XML元素 XML属性 XML命名空间 XML显示 XML HttpRequest XML解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML验证器 XML DTD XML模式 XML服务器 XML 示例 XML 测试 XML 证书

XML AJAX

AJAX简介 AJAX XMLHttp AJAX请求 AJAX响应 AJAX XML文件 AJAX PHP AJAX ASP AJAX数据库 AJAX应用程序 AJAX 示例

XML DOM

DOM简介归纳 DOM节点 DOM访问 DOM节点信息 DOM节点列表 DOM遍历 DOM导航 DOM获取价值 DOM变更节点 DOM删除节点 DOM替换节点 DOM创建节点 DOM添加节点 DOM克隆节点 DOM 示例

XPath 教程

XPath简介 XPath节点 XPath语法 XPath轴 XPath运算子 XPath 示例

XSLT 教程

XSLT简介 XSL语言 XSLT转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT申请 客户端上的XSLT 服务器上的XSLT XSLT编辑XML XSLT 示例

XQuery 教程

XQuery简介 XQuery示例 XQuery FLWOR XQuery HTML XQuery条款 XQuery语法 XQuery添加 XQuery选择 XQuery函数

XML DTD

DTD简介 DTD构建基块 DTD元素 DTD属性 DTD元素 vs Attr DTD实体 DTD 示例

XSD Schema

XSD简介 XSD如何 XSD <schema> XSD元素 XSD属性 XSD限制

XSD Complex

XSD元素 XSD Empty XSD元素 Only 仅限XSD文字 XSD混合 XSD指标 XSD <any> XSD <anyAttribute> XSD替代 XSD示例

XSD Data

XSD字串 XSD日期 XSD数值 XSD杂项 XSD 参考

Web Services

XML服务 XML WSDL XML SOAP XML RDF XML RSS

参考

DOM节点类型 DOM节点 DOM节点List DOM NamedNodeMap DOM文档 DOM元素 DOM属性 DOM文字 DOM CDATA DOM评论 DOM XMLHttpRequest DOM解析器 XSLT元素 XSLT / XPath函数

×

Header

XML DOM Tutorial


XML DOM

DOM node tree

What is the DOM?

The DOM defines a standard for accessing and manipulating documents:

"The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document."

The HTML DOM defines a standard way for accessing and manipulating HTML documents. It presents an HTML document as a tree-structure.

The XML DOM defines a standard way for accessing and manipulating XML documents. It presents an XML document as a tree-structure.

Understanding the DOM is a must for anyone working with HTML or XML.


The HTML DOM

All HTML elements can be accessed through the HTML DOM.

This example changes the value of an HTML element with id="demo":

Example

<h1 id="demo">This is a Heading</h1>

<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
来试试吧 »

This example changes the value of the first <h1> element in an HTML document:

Example

<h1>This is a Heading</h1>

<h1>This is a Heading</h1>

<script>
document.getElementsByTagName("h1")[0].innerHTML = "Hello World!";
</script>
来试试吧 »

Note: Even if the HTML document contains only ONE <h1> element you still have to specify the array index [0], because the getElementsByTagName() method always returns an array.

You can learn a lot more about the HTML DOM in our JavaScript tutorial.



The XML DOM

All XML elements can be accessed through the XML DOM.

The XML DOM is:

  • A standard object model for XML
  • A standard programming interface for XML
  • Platform- and language-independent
  • A W3C standard

In other words: The XML DOM is a standard for how to get, change, add, or delete XML elements.


Get the Value of an XML Element

This code retrieves the text value of the first <title> element in an XML document:

Example

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

Loading an XML File

The XML file used in the examples below is books.xml.

This example reads "books.xml" into xmlDoc and retrieves the text value of the first <title> element in books.xml:

Example

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
</script>

</body>
</html>
来试试吧 »

Example Explained

  • xmlDoc - the XML DOM object created by the parser.
  • getElementsByTagName("title")[0] - get the first <title> element
  • childNodes[0] - the first child of the <title> element (the text node)
  • nodeValue - the value of the node (the text itself)

Loading an XML String

This example loads a text string into an XML DOM object, and extracts the info from it with JavaScript:

Example

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html>
来试试吧 »

编程 Interface

The DOM models XML as a set of node objects. The nodes can be accessed with JavaScript or other programming languages. In this tutorial we use JavaScript.

The programming interface to the DOM is defined by a set standard properties and methods.

Properties are often referred to as something that is (i.e. nodename is "book").

Methods are often referred to as something that is done (i.e. delete "book").


XML DOM Properties

These are some typical DOM properties:

  • x.nodeName - the name of x
  • x.nodeValue - the value of x
  • x.parentNode - the parent node of x
  • x.childNodes - the child nodes of x
  • x.attributes - the attributes nodes of x

Note: In the list above, x is a node object.


XML DOM方法

  • x.getElementsByTagName(name) - get all elements with a specified tag name
  • x.appendChild(node) - insert a child node to x
  • x.removeChild(node) - remove a child node from x

Note: In the list above, x is a node object.




W3Schools is optimized for learning, testing, and training. 示例 might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using this site, you agree to have read and accepted our terms of use, cookie and privacy policy. Copyright 1999-2020 by Refsnes Data. All Rights Reserved.
Powered by W3.CSS.

W3Schools.com