js解析一个XML字符串 - 跨浏览器的实例

下面的代码是一个跨浏览器的实例,向我们展示了如何加载和解析某个XML字符串:<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<html>
<body>
<script>

//xml字符串
var xmlstring = '<?xml version=/"1.0/"?>/n'
+ '<shoppingcart date=/"14-10-2007/" total=/"123.45/">/n'
+ ' <item code=/"12345/">/n'
+ '  <name>Widget</name>/n'
+ '  <quantity>1</quantity>/n'
+ ' </item>/n'
+ ' <item code=/"54321/">/n'
+ '  <name>Another Widget</name>/n'
+'  <quantity>2</quantity>/n'
+ ' </item>/n'
+ '</shoppingcart>';

alert(xmlstring);


try
{

// 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");
  }
 

 


}
catch (e)
{

  alert('error');

 return;
}

// 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);
}
</script>
</body>
</html>

 

注释:Internet Explorer使用loadXML()方法解析XML字符串,而Mozilla浏览器使用DOMParser对象。<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值