js解析xml文件

本文介绍了一种在不同浏览器环境下将字符串转换为XML对象的方法,并通过示例展示了如何使用JavaScript来解析和获取XML数据中的特定信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<script type="text/javascript">

function convertXML(xmlstring)
{
 try
 {
  var xmlobject = null ;
  // convert the string to an XML object
  // 用于 IE 的代码:
  if (window.ActiveXObject)
    {
    var xmlobject =new ActiveXObject("Microsoft.XMLDOM");
    xmlobject.async="false";
    xmlobject.loadXML(xmlstring);
  
    }

  // 用于 Mozilla, Firefox, Opera, 等浏览器的代码:
  else
    {
    var parser=new DOMParser();
    var xmlobject =parser.parseFromString(xmlstring,"text/xml");
    }
     return xmlobject ;
  }
 catch (e)
 {

   alert('error');

  return;
 }
}

 

function toXML(strxml){
  try{
       var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
     //var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
     xmlDoc.loadXML(strxml);
  }
  catch(e){
     var oParser=new DOMParser();
     xmlDoc=oParser.parseFromString(strxml,"text/xml");
  }
  return xmlDoc;
}

str1='<FieldsData><OBJECTID t="1,10">2286</OBJECTID><GF_ID t="0,20">434034414089153584中文</GF_ID><TD_DMGC t="2,38,10">816.97351074</TD_DMGC><POLEANGLE t="2,38,10">180.33901522</POLEANGLE><TD_MODEL_TYPEID t="0,50">zzz</TD_MODEL_TYPEID><TMODEL t="0,50">ZBJ-30</TMODEL></FieldsData>' ;


str="<node1>"+
"<node1_1>1400</node1_1>"+
"<node1_2 id='n1_2'>Default.htm</node1_2>"+
"</node1>" ;
var xmlObj=convertXML(str1) ;
//toXML(str1);
//alert(xmlObj.childNodes[0].firstChild.firstChild.nodeValue);
//alert(xmlObj.getElementsByTagName('GF_ID')[0].firstChild.nodeValue);
alert("==="+xmlObj.getElementsByTagName('GF_ID')[0].firstChild.nodeValue);


function FormatToXml(strXml){
var isIE = function(){
var IE = /msie/i.test(navigator.userAgent);
return IE;
}
var Exc = function(){
var XmlDoc = null;
if (isIE())
{
XmlDoc = new ActiveXObject("Microsoft.XMLDOM");
XmlDoc.loadXML(strXml);
}else{
//FireFox2.0、Safari2.0
XmlDoc = (new DOMParser()).parseFromString(strXml, "text/xml");
}
return XmlDoc;
}
return Exc();
}


</script>
</BODY>
</HTML>

// get the XML root item
var root = xmlobject.getElementsByTagName('shoppingcart')[0];
var date = root.getAttribute("date");

alert("shoppingcart date=" + date);

var items = root.getElementsByTagName("item");
for (var i = 0 ; i < items.length ; i++) {
 // get one item after another
 var item = items[i];
 // now we have the item object, time to get the contents
 // get the name of the item
 var name = item.getElementsByTagName("name")[0].firstChild.nodeValue;
 // get the quantity
 var quantity = item.getElementsByTagName("quantity")[0].firstChild.nodeValue;
 alert("item #" + i + ": name=" + name + " quantity=" + quantity);
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值