js字串轉換成xml對象並提示解讀

來源:互聯網
上載者:User

在java端將字串轉化為xml對象可以使用DocumentHelper.parseText(xmlReturn).getRootElement();
在js中同樣有方法可以將字串轉化為xml對象,可以使用如下函數
以下是引用片段: 複製代碼 代碼如下:function createXml(str){
  if(document.all){
  var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
  xmlDom.loadXML(str)
  return xmlDom
  }
  else
  return new DOMParser().parseFromString(str, "text/xml")
  }

如果在js端是讀取檔案,那就更方便了
以下是引用片段: 複製代碼 代碼如下:var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
  xmlDoc.async = false;
  xmlDoc.load("檔案路徑");

至於操作xml也是很簡單,如果會使用jdom或是dom4j的話,操作也是相當方便。
以下是引用片段: 複製代碼 代碼如下:var domxml= createXml(Http.responseText);
  var code=domxml.getElementsByTagName("code");
  if(code.item(0).text=="100"){
  var parameter=domxml.getElementsByTagName("parameter");
  identifier=parameter.item(0).attributes.getNamedItem("value").value;
  }

對於節點的值和屬性的值擷取的方法不同。
下面的方法 複製代碼 代碼如下://字串轉化為xml
function toXmlDom(source){
var xmlDoc = null;
if (window.ActiveXObject) {
var ARR_ACTIVEX =
["MSXML4.DOMDocument","MSXML3.DOMDocument","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XmlDom"];
var XmlDomflag = false;
for (var i = 0;i < ARR_ACTIVEX.length && !XmlDomflag ;i++) {
try {
var objXML = new ActiveXObject(ARR_ACTIVEX[i]);
xmlDoc = objXML;
XmlDomflag = true;
} catch (e) {
}
}
if (xmlDoc) {
xmlDoc.async = false;
xmlDoc.loadXML(source);
}
}else{
var parser=new DOMParser();
var xmlDoc=parser.parseFromString(source,"text/xml");
}
return xmlDoc;
}

複製代碼 代碼如下://使用
function areaChart(data){
var s = toXmlDom(xml);//xml為字串
$(s).find("area").each( //得到每一個area標籤
function(id,item){
var areaCode=$(item).find("area_code").eq(0).text();//擷取area標籤的內容
var num = $(item).find("area_all_num").eq(0).text();
var name=$(item).find("area_name").eq(0).text();
var title=name+","+num;
$("#"+areaCode+"").attr("title",title);
}
);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.