讀取的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>