可以用Microsoft.XMLDOM对象来处理xml文件或是xml字符串
1.取得XMLDOM对象
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var currNode;
xmlDoc.async = false;
xmlDoc.load("test.xml");
//如果是读取一个字符串中的xml文档,使用
//xmlDoc.loadXML(strXML);
var currNode;
xmlDoc.async = false;
xmlDoc.load("test.xml");
//如果是读取一个字符串中的xml文档,使用
//xmlDoc.loadXML(strXML);
2.错误处理
if (xmlDoc.parseError.errorCode != 0)
{
//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write("You have error " + myErr.reason);
}
{
//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write("You have error " + myErr.reason);
}
3.遍历节点
else
{
//Method 1 :使用XPath访问
var items = xmlDoc.selectNodes("/users/user");
document.write("<table border=1>");
document.write("<tr><td>User ID</td><td>User Name</td></tr>");
for(i=0;i<items.length;i++)
{
document.write("<tr>");
document.write("<td>" + items[i].selectSingleNode("userid").text + "</td>");
document.write("<td>" + items[i].selectSingleNode("username").text + "</td>");
document.write("</tr>");
}
document.write("</table>");
{
//Method 1 :使用XPath访问
var items = xmlDoc.selectNodes("/users/user");
document.write("<table border=1>");
document.write("<tr><td>User ID</td><td>User Name</td></tr>");
for(i=0;i<items.length;i++)
{
document.write("<tr>");
document.write("<td>" + items[i].selectSingleNode("userid").text + "</td>");
document.write("<td>" + items[i].selectSingleNode("username").text + "</td>");
document.write("</tr>");
}
document.write("</table>");
//Method 2 :使用childNodes访问
var rootNode = xmlDoc.documentElement;
var childNodes = rootNode.childNodes;
document.write("<table border=1>");
document.write("<tr><td>User ID</td><td>User Name</td></tr>");
for(i=0;i<childNodes.length;i++)
{
document.write("<tr>");
document.write("<td>" + childNodes[i].childNodes[0].text + "</td>");
document.write("<td>" + childNodes[i].childNodes[1].text + "</td>");
document.write("</tr>");
}
document.write("</table>");
}