JS解析XML

转载 2007年10月02日 16:32:00
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管用
 

相关文章推荐

js对xml的解析操作

  • 2010-12-21 09:30
  • 967B
  • 下载

js解析Xml

浏览器的兼容(通用(火狐和IE)): function xmlDom(){ var dom; if(window.ActiveXObject){ var arr=["MSXML2.DOMD...

XML解析工具-JS

  • 2016-07-12 15:58
  • 860B
  • 下载

JS解析XML

XML文件:  今天要下雨  今天确实下雨了  2009-02-04  今天出太阳  今天确实出太阳了  2009-02-0...

前端js中解析XML文件(一)

IE浏览器中的XML解析器是通过ActiveX控件所实现的,,通过以下的代码来引用XML解析器。var xmldoc = new ActiveXObject("Microsoft.XMLDOM");以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)