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

javascript对XML的解析

2007-10-24 00:29 477 查看
1.对XMLHttpRequest请求返回的responseXML进行解析,responseXML是个XMLDOcument对象
假设返回的responseXML为:
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<response>
<method>checkName</method>
<result>1</result>
</response>
则获取method和result值方法为:
var response=req.responseXML.documentElement;
method =response.getElementsByTagName('method')[0].firstChild.data;
result = response.getElementsByTagName('result')[0].firstChild.data;

2.创建一个XMLDocument对象
function getXMLDocument() {
var xDoc = null;
if (document.implementation && document.implementation.createDocument) {
xDoc = document.implementation.createDocument("", "", null);
} else {
if ((typeof ActiveXObject) != "undefined") {
var msXmlAx = null;
try {
msXmlAx = new ActiveXObject("Msxml2.DOMDocument");
}
catch (e) {
msXmlAx = new ActiveXObject("Msxml.DOMDocument");
}
xDoc = msXmlAx;
}
}
if (xDoc == null || typeof xDoc.load == "undefined") {
xDoc = null;
}
return xDoc;
}

3.创建一个DOM树
<people>
<person first-name="eric" middle-initial="h" last-name="jung">
<address street="321 south st" city="denver" state="co" country="usa" />
</person>
<person first-name="jed" last-name="brown">
<address street="321 north st" city="atlanta" state="ga" country="usa" />
<address street="321 south avenue" city="denver" state="co" country="usa" />
</person>
</people>
程序如下:
var doc=getXMLDocument();
var peopleElem = doc.createElement("people");
var personElem1 = doc.createElement("person");
personElem1.setAttribute("first-name", "eric");
personElem1.setAttribute("middle-initial", "h");
personElem1.setAttribute("last-name", "jung");

var addressElem1 = doc.createElement("address");
addressElem1.setAttribute("street", "321 south st");
addressElem1.setAttribute("city", "denver");
addressElem1.setAttribute("state", "co");
addressElem1.setAttribute("country", "usa");
personElem1.appendChild(addressElem1);

var personElem2 = doc.createElement("person");
personElem2.setAttribute("first-name", "jed");
personElem2.setAttribute("last-name", "brown");

var addressElem3 = doc.createElement("address");
addressElem3.setAttribute("street", "321 north st");
addressElem3.setAttribute("city", "atlanta");
addressElem3.setAttribute("state", "ga");
addressElem3.setAttribute("country", "usa");
personElem2.appendChild(addressElem3);

var addressElem5 = doc.createElement("address");
addressElem5.setAttribute("street", "321 south avenue");
addressElem5.setAttribute("city", "denver");
addressElem5.setAttribute("state", "co");
addressElem5.setAttribute("country", "usa");
personElem2.appendChild(addressElem5);

peopleElem.appendChild(personElem1);
peopleElem.appendChild(personElem2);
doc.appendChild(peopleElem);
alert(doc.xml);//xml属性只对IE管用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: