2

我的 parsexml 代码:

var parseXml = function (xml) {
   var dom = null;
   if (window.DOMParser) {
      try { 
         dom = (new DOMParser()).parseFromString(xml, "text/xml"); 
      } 
      catch (e) { dom = null; }
   }
   else if (window.ActiveXObject) {
      try {
         dom = new ActiveXObject('Microsoft.XMLDOM');
         dom.async = false;
         if (!dom.loadXML(xml)) // parse error ..

            window.alert(dom.parseError.reason + dom.parseError.srcText);
      } 
      catch (e) { dom = null; }
   }
   else
      alert("cannot parse xml string!");
   return dom;
}

现在假设

s="<a>random</a>";
b=parseXml(s);

现在我想sb. 我怎么做?

4

2 回答 2

3

XMLSerializer在大多数浏览器中,您需要一个在xml旧版本 IE 中的 XML 节点属性:

function serializeXmlNode(xmlNode) {
    if (typeof window.XMLSerializer != "undefined") {
        return new window.XMLSerializer().serializeToString(xmlNode);
    } else if (typeof xmlNode.xml != "undefined") {
        return xmlNode.xml;
    }
    return "";
}

var xmlStr = serializeXmlNode(b);
于 2012-06-29T11:03:04.737 回答
0

您需要一个XMLSerializer( MDN docu ) 对象来将您的 XML 树转换回字符串:

var ser = new XMLSerializer(); 
s = ser.serializeToString( b );
于 2012-06-29T11:01:05.747 回答