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

js字符串转换成xml对象并使用技巧解读

2013-04-18 00:00 871 查看
在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); 
} 
);


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: