XML解析器可以读取、更新、创建、操作一个XML文档
创建XML文件
微软解析器的特点是支持与程序设计语言无关的编程模型,他支持以下技术:
如果浏览器使用JavaScript作为脚本语言,那么利用下面的代码可以创建XML文档对象:
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
如果浏览器使用VBScript作为脚本语言,那么利用下面的代码可以创建XML文档对象:
set xmlDoc=CreateObject("Microsoft.XMLDOM")
如果在ASP程序中使用VBScript脚本语言,那么就可以使用下面的代码形式:
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
载入解析器的两种办法:——————
使用脚本代码可以将XML文档载入解析器。
下面的代码可以将一个XML文档载入解析器:
<script type="text/javascript"> var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load("note.xml") // ....... processing the document goes here </script>第二行代码创建Microsoft XML解析器的实例。
第三行代码关闭异步载入,确保XML解析器在把XML文档完全载入以前不会对XML文档进行解析。
第四行则告诉解析器需要载入的XML文档名字是note.xml。
解析器还可以从一个文本字符串中载入XML文本。
下面的代码演示了将文本字符串载入解析器:
<script type="text/javascript"> var text="<note>" text=text+"<to>Tove</to><from>Jani</from>" text=text+"<heading>Reminder</heading>" text=text+"<body>Don't forget me this weekend!</body>" text=text+"</note>" var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.loadXML(text) // ....... processing the document goes here </script>
注意这里载入字符串使用的是"loadXML()"方法)(而不是前面用过的"load()"方法), "loadXML()"是用于载入字符串,"load()"是用于载入XML文档
实例:
xml_note。xml
<?xml version="1.0" encoding="gb2312" ?>
<html>
<head>
<script type="text/javascript"
for="window" event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("xml_note.xml")
nodes=xmlDoc.documentElement.childNodes
to.innerText= nodes.item(0).text
from.innerText= nodes.item(1).text
header.innerText=nodes.item(2).text
body.innerText= nodes.item(3).text
</script>
<title>HTML using XML data</title>
</head>
<body bgcolor="yellow">
<h1>W3Schools.com Internal Note</h1>
<b>To: </b>
<span id="to"> </span>
<br />
<b>From: </b>
<span id="from"></span>
<hr>
<b><span id="header"></span></b>
<hr>
<span id="body"></span>
</body>
</html>