您的位置:首页 > Web前端 > JavaScript

使用JavaScript和MSXML对XML文档进行访问

2008-06-02 21:10 239 查看
使用JavaScript和MSXML对XML文档进行访问。

XML文档(type.xml):

<?xml version="1.0" encoding="UTF-8"?>
<type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="type1.xsd">
<student state="true">
<info>
<name>张三</name>
<sex>男</sex>
</info>
<grede>
<chinese>1</chinese>
<math>119</math>
</grede>
</student>
<teacher state="true">
<name>李四</name>
<sex>女</sex>
<subject>数学</subject>
</teacher>
</type>

JavaScript程序(type.html):

1,使用JavaScript遍历type.xml

<html >
<head>
<title>使用JavaScript遍历XML文档</title>

</head>

<body>
<script type="text/javascript" language="JavaScript" charset="gb2312">
//实例化一个DOM对象,表示一个XML文档。文档使用MSXML分析。
var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
//加载xml文件(使用MSXML分析文档,以树形结构存储在内存中),使DOM对象引用该文档。
xmlDocument.load("type.xml");

//获取xmlDocument对象的根元素。
var element = xmlDocument.documentElement;
document.writeln("<p><strong>" + element.nodeName + "</strong></p><ui>");

//获取根节点下的子节点。
for (i = 0; i < element.childNodes.length; i++ )
{
var curNode = element.childNodes.item(i);
document.writeln("<li><strong>" + curNode.nodeName + "</strong></li>");
}
document.writeln("</ui>");

//获取根节点下第一个子节点下的子节点。
var currentNode = element.firstChild;
// var currentNode = element.childNodes.item(0);
document.writeln("<p><strong>" + currentNode.nodeName + "</strong></p><ui>");
for (i = 0; i < currentNode.childNodes.length; i++ )
{
var curNode = currentNode.childNodes.item(i);
document.writeln("<li><strong>" + curNode.nodeName + "</strong></li>");
}
document.writeln("</ui>");

//获取根节点下与第一个子节点同级节点 下的子节点。
var SiblingNode = currentNode.nextSibling;
document.writeln("<p><strong>" + SiblingNode.nodeName + "</strong></p><ui>");
for (i = 0; i < SiblingNode.childNodes.length; i++ )
{
var curNode = SiblingNode.childNodes.item(i);
document.writeln("<li><strong>" + curNode.nodeName + " : "+ curNode.firstChild.nodeValue + "</strong></li> ");
}
document.writeln("</ui>");

//获取根节点的第一个子节点下的子节点的节点
var firstChildNode = currentNode.firstChild;
document.writeln("<p><strong>" + firstChildNode.nodeName + "</strong></p><ui>");
for (i = 0; i < firstChildNode.childNodes.length; i++ )
{
var curNode = firstChildNode.childNodes.item(i);
document.writeln("<li><strong>" + curNode.nodeName + " : "+ curNode.firstChild.nodeValue + "</strong></li>");
}
document.writeln("</ui>");

//获取根节点的第一个子节点下的子节点的节点。
var nextSiblingNode = firstChildNode.nextSibling;
document.writeln("<p><strong>" + nextSiblingNode.nodeName + "</strong></p><ui>");
for (i = 0; i < nextSiblingNode.childNodes.length; i++ )
{
var curNode = nextSiblingNode.childNodes.item(i);
document.writeln("<li><strong>" + curNode.nodeName + " : "+ curNode.firstChild.nodeValue + "</strong></li> ");
}
document.writeln("</ui>");

</script>
</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: