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

JavaScript读取XML

2015-06-25 11:59 651 查看
先贴上需要读取的xml文件格式:
(ProductLicenses.xml文件)
<?xml version="1.0" encoding="UTF-8"?>
<LicenseFile>
<Licenses>
<License ProductName="AAA" ProductVersion="1.x" KeySaveDate="2015-06-12">
<LicenseKey>aadadadadad666-d8</LicenseKey>
<SiteMessage>mySite1</SiteMessage>
</License>
<License ProductName="BBB" ProductVersion="2.x" KeySaveDate="2015-06-25">
<LicenseKey>asdf6fsdsdddfd-dd</LicenseKey>
<SiteMessage>mySite2</SiteMessage>
</License>
<License ProductName="CCC" ProductVersion="3.x" KeySaveDate="2015-07-02">
<LicenseKey>assdessertdsrt-3a</LicenseKey>
<SiteMessage>mySite3</SiteMessage>
</License>
</Licenses>
</LicenseFile>
示例一:文件中有多个<License>节点,要读取<License>节点下各个子节点的方法如下:
使用getElementsByTagName() 方法
function readXmlByTag(){
var strXmlFile = "C:\\ProductLicenses.xml";
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(strXmlFile);
if(xmlDoc != null){
var arrNodes = xmlDoc.getElementsByTagName("License");
if(arrNodes != null){
Log.Message("The [License] node's count in xml is:"+arrNodes.length);
for(i=0;i<arrNodes.length;i++){
Log.Message(arrNodes[i].getAttribute("ProductName"));//read the node's property value
var arrChildNodes = arrNodes[i].childNodes;
if(arrChildNodes != null){
for(j=0; j<arrChildNodes.length; j++){
Log.Message(arrChildNodes[j].text);
}
}
}
}
}
else{
Log.Message("Fail to parse the xml file.");
}

}

更详细的介绍可以参考:
http://blog.csdn.net/avon520/article/details/3345919
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js;xml