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

来源:互联网 发布:蓝牙串口app 源码 编辑:程序博客网 时间:2024/05/16 07:07

使用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>

原创粉丝点击