javascript 解析后的xml对象的读取方法细解

  读取的xml:

  

复制代码 代码如下:

  <svg id="svgID" key="1">

  <desc id= "descID">

  Text1

  </desc>

  <defs>

  Text2

  </defs>

  <g>

  text3

  </g>

  </svg>

  javascript对此xml的解析方法如下:

  

复制代码 代码如下:

  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

  <head>

  <script type="text/javascript">

  <!--

  function initXML(){

  if (window.ActiveXObject){

  var doc=new ActiveXObject("Microsoft.XMLDOM");

  doc.async="false";

  doc.load("test.xml");

  }else{

  var parser=new DOMParser();

  var doc=parser.parseFromString("test.xml","text/xml");

  }

  var xmlDoc=doc.documentElement;//获取svg对象

  xmlDoc.text;//输出svg对象中所有的text,output:text1 Text2 Text3

  xmlDoc.getAttribute("id");//输出svg对象的id,output:svgID

  xmlDocxmlDocLen=xmlDoc.childNodes.length;//输出svg对象的子节点个数,output:3

  var xmlDocxmlDocChilds=xmlDoc.childNodes;//获取svg的所有子节点

  var xmlDOcChildNode0=xmlDocChilds[0];//获取svg的第一个子节点

  var xmlDocChildNode0TagName=xmlDOcChildNode0.nodeName;//获取svg的第一个子节点的tagname,output:desc

  var xmlDocChildNode0ID=xmlDOcChildNode0.getAttribute("id");//获取svg的第一个子节点的id属性,output:descID

  var xmlDocChildNode0InnerText=xmlDOcChildNode0.Text

  xmlDocChildNode0InnerText=xmlDOcChildNode0.firstChild.nodeValue;;//获取svg的第一个子节点的text,output:Text1

  }

  // --></script>

  <title></title>

  </head>

  <body>

  <input onclick="initXML();" value="testXML" type="button" />

  </body>

  </html>