客户端 使用XML DOM加载json数据的方法

步骤:
  1、引用Jquery
  2、如果是IE,实例ActiveXObject;Firefox,实例DOMParser。
  3、处理

代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XmlDom._Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 

<script type="text/javascript" src="js/jquery-1.4.2.js"></script> 

<script type="text/javascript"> 
//得到XML Dom 
function LoadXML(XmlString) { 
var xmlDoc; 
//firefox等 
if (!window.ActiveXObject) { 
var parser = new DOMParser(); 
xmlDoc = parser.parseFromString(XmlString, "text/xml"); 
} else { 
//IE 
xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async = "false"; 
xmlDoc.loadXML(XmlString); 
} 
return xmlDoc; 
} 
function UseCllentXmlDom() { 
try { 
var string = "<Log><Content value='测试Xml Dom用法' /></Log>"; 
//加载 
var xmlString = LoadXML(string); 
var xmlContent = $(xmlString).find("Content"); 
if (xmlContent != null) { 
$(xmlString).find("Content").each(function() { 
var ContentValue = $(this).attr("value"); 
         //显示得到的数据 
$("#DomValue").html(ContentValue); 
}); 
} 
} 
catch (e) { 
throw e; 
} 
} 
</script> 

</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<a style="cursor: pointer" onclick="UseCllentXmlDom()">调用客户端XmlDom</a> 
<br /> 
显示数据: 
<div id="DomValue"> 
</div> 
</div> 
</form> 
</body> 
</html>

在FireFox下,我测试时发现,将XML字符串直接给Jquery,Jquery也能直接处理;但在IE下不行。如下边代码。

代码如下:

<script type="text/javascript"> 
//仅在firefox下可行 
function UseCllentXmlDom() { 
try { 
var string = "<Log><Content value='测试Xml Dom用法' /></Log>"; 
    //取XML 字符串 
xmlString = $(string); 
var xmlContent = $(xmlString).find("Content"); 
if (xmlContent != null) { 
$(xmlString).find("Content").each(function() { 
var ContentValue = $(this).attr("value"); 
         //显示得到的数据 
$("#DomValue").html(ContentValue); 
}); 
} 

} 
catch (e) { 
throw e; 
} 
} 
</script>

相关推荐