用javascript读取XML
在javascript中读取XML是通过XMLDOM对象来实现的,具体的例子如下:
student.xml文件如下:
student.xml:
<?xml version="1.0" encoding="utf-8" ?>
<students>
<student>
<name type="fullname">zhangsan</name>
<sno>36452</sno>
<sex>male</sex>
<age>23</age>
</student>
<student>
<name type="xiaoming">lisi</name>
<sno>36453</sno>
<sex>female</sex>
<age>23</age>
</student>
<student>
<name type="alias">wangwu</name>
<sno>36454</sno>
<sex>female</sex>
<age>20</age>
</student>
<student>
<name type="nickname">mazi</name>
<sno>36432</sno>
<sex>man</sex>
<age>10</age>
</student>
</students>
下面是访问该XML的JS代码:
var xmlURL = "student.xml"
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false; xmlDoc.load(xmlURL);
getColumnList(xmlDoc);
function getColumnList(xmlDoc){
var rootNode = xmlDoc.documentElement;
var rtnList = new Array();
var childNodes = rootNode.childNodes;
var nameType;
var innerHtm;
var subChildNodes;
for(var i = 0; i < childNodes.length; i++){
subChildNodes = childNodes[i].childNodes;
stu.insertRow(stu.rows.length);
for(var k = 0; k < subChildNodes.length; k++){
stu.rows.item(stu.rows.length - 1).insertCell(k);
innerHtm = subChildNodes[k].text;
if(subChildNodes[k].nodeName == "name"){
nameType = subChildNodes[k].attributes.getNamedItem("type").text;
innerHtm += "("+nameType+")";
}
stu.rows.item(stu.rows.length - 1).cells.item(k).innerHTML = innerHtm;
}
}
}
在javascript中读取XML是通过XMLDOM对象来实现的,具体的例子如下:
student.xml文件如下:
student.xml:
<?xml version="1.0" encoding="utf-8" ?>
<students>
<student>
<name type="fullname">zhangsan</name>
<sno>36452</sno>
<sex>male</sex>
<age>23</age>
</student>
<student>
<name type="xiaoming">lisi</name>
<sno>36453</sno>
<sex>female</sex>
<age>23</age>
</student>
<student>
<name type="alias">wangwu</name>
<sno>36454</sno>
<sex>female</sex>
<age>20</age>
</student>
<student>
<name type="nickname">mazi</name>
<sno>36432</sno>
<sex>man</sex>
<age>10</age>
</student>
</students>
下面是访问该XML的JS代码:
var xmlURL = "student.xml"
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false; xmlDoc.load(xmlURL);
getColumnList(xmlDoc);
function getColumnList(xmlDoc){
var rootNode = xmlDoc.documentElement;
var rtnList = new Array();
var childNodes = rootNode.childNodes;
var nameType;
var innerHtm;
var subChildNodes;
for(var i = 0; i < childNodes.length; i++){
subChildNodes = childNodes[i].childNodes;
stu.insertRow(stu.rows.length);
for(var k = 0; k < subChildNodes.length; k++){
stu.rows.item(stu.rows.length - 1).insertCell(k);
innerHtm = subChildNodes[k].text;
if(subChildNodes[k].nodeName == "name"){
nameType = subChildNodes[k].attributes.getNamedItem("type").text;
innerHtm += "("+nameType+")";
}
stu.rows.item(stu.rows.length - 1).cells.item(k).innerHTML = innerHtm;
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货