本文概述
- 什么是XML DOM
- XML DOM是什么
- XML DOM示例:加载XML文件
- 重要的提示
- XML DOM示例:加载XML字符串
- 重要说明2
【XML DOM介绍和操作实例】作为W3C规范, 文档对象模型的一个重要目标是提供一种可在各种环境和应用程序中使用的标准编程接口。文档对象模型可以与任何编程语言一起使用。
XML DOM定义了访问和操作XML文档的标准方法。
XML DOM是什么 XML DOM为XML文档提供树形结构视图。
我们可以通过DOM树访问所有元素。
我们可以修改或删除它们的内容, 还可以创建新元素。元素及其内容(文本和属性)都称为节点。
例如, 考虑来自HTML文档的该表:
<
TABLE>
<
ROWS>
<
TR>
<
TD>
A<
/TD>
<
TD>
B<
/TD>
<
/TR>
<
TR>
<
TD>
C<
/TD>
<
TD>
D<
/TD>
<
/TR>
<
/ROWS>
<
/TABLE>
文档对象模型表示此表, 如下所示:
文章图片
XML DOM示例:加载XML文件 让我们以一个示例来说明如何将XML文档(” note.xml” )解析为XML DOM对象。
本示例将XML文档(note.xml)解析为XML DOM对象, 并使用JavaScript从中提取信息。
让我们看一下包含消息的XML文件。
note.xml
<
?xml version="1.0" encoding="ISO-8859-1"?>
<
note>
<
to>
sonoojaiswal@srcmini.com<
/to>
<
from>
vimal@srcmini.com<
/from>
<
body>
Hello XML DOM<
/body>
<
/note>
让我们看一下使用DOM提取XML文档数据的HTML文件。
xmldom.html
<
!DOCTYPE html>
<
html>
<
body>
<
h1>
Important Note<
/h1>
<
div>
<
b>
To:<
/b>
<
span id="to">
<
/span>
<
br>
<
b>
From:<
/b>
<
span id="from">
<
/span>
<
br>
<
b>
Message:<
/b>
<
span id="message">
<
/span>
<
/div>
<
script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "note.xml", false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
<
/script>
<
/body>
<
/html>
立即测试
输出
重要的提示 致:sonoojaiswal@srcmini.com
来自:vimal@srcmini.com
消息:你好XML DOM
XML DOM示例:加载XML字符串 本示例将XML字符串解析为XM DOM对象, 然后使用JavaScript从中提取一些信息。
让我们看一下使用DOM提取XML字符串数据的HTML文件。
xmldom.html
<
!DOCTYPE html>
<
html>
<
body>
<
h1>
Important Note2<
/h1>
<
div>
<
b>
To:<
/b>
<
span id="to">
<
/span>
<
br>
<
b>
From:<
/b>
<
span id="from">
<
/span>
<
br>
<
b>
Message:<
/b>
<
span id="message">
<
/span>
<
/div>
<
script>
txt1="<
note>
";
txt2="<
to>
Sania Mirza<
/to>
";
txt3="<
from>
Serena William<
/from>
";
txt4="<
body>
Don't forget me this weekend!<
/body>
";
txt5="<
/note>
";
txt=txt1+txt2+txt3+txt4+txt5;
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt, "text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
<
/script>
<
/body>
<
/html>
立即测试
输出
重要说明2 至:Sania Mirza
来自:小威廉姆斯
消息:这个周末别忘了我!
推荐阅读
- XQuery功能介绍
- XML命名空间介绍和用法示例
- XML解析器介绍和使用实例
- XML数据库介绍和示例
- CDATA与PCDATA介绍和用法示例
- XML模式介绍和实例
- XML验证介绍和用法示例
- DTD与XSD有什么区别()
- XML和CSS用法详细示例