首页 > 代码库 > Javascript 操作 Sql中的Xml 字段

Javascript 操作 Sql中的Xml 字段

在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取。这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多,于是网上查找了一些资料。实现了JS读Xml字段信息的方法。

 

首先我们在页面中放一个TextBox 用来放Xml字段。切记:不可用Label,因为万一Xml字段信息中有“”这种符号时,页面会产生Js错误。

 

接下去,就是重点了。付JS代码:

[javascript] view plaincopyprint?
  1. function createXml(str){  
  2.   if(document.all){  
  3.     var xmlDom=new ActiveXObject("Microsoft.XMLDOM")  
  4.     xmlDom.loadXML(str)  
  5.     return xmlDom  
  6.   }  
  7.   else  
  8.     return new DOMParser().parseFromString(str, "text/xml")  
  9. }  
  10.   
  11. //以上的方法是将字符串实例化为Xml  

 

 

最后就是操作这个Xml 了。。。

[javascript] view plaincopyprint?
  1. window.onload=function () {  
  2.    var str=document.getElementById("ctl00_ContentPlaceHolder1_TextBox1").value;  
  3.      var obj=createXml(str);  
  4.   
  5.         //得到根节点  
  6.         var root_node=obj.documentElement;  
  7.         
  8.    var yh1="";  
  9.         for (i=0;i< root_node.childNodes[0].childNodes.length-1;i++)  
  10.         {  
  11.             yh1+="   "+(i+1)+"、"+root_node.childNodes[0].childNodes[i].getAttribute("Remark")+":"+root_node.childNodes[0].childNodes[i].firstChild.nodeValue  ;  
  12.               
  13.               
  14.             yh1+="<br/>"  
  15.                         
  16.         }  
  17.  document.getElementById("ctl00_ContentPlaceHolder1_lblContent").innerHTML=yh1;  
  18.         }  
  19.          
  20. }  

 

付Xml格式:

[xhtml] view plaincopyprint?
  1. <Info Remark="文件模板"><Common Remark="通用配置"><DisCopy Remark="复印件折扣">100</DisCopy><DisOriginal Remark="折扣">100</DisOriginal><ArrearageLimit Remark="欠费上限">0</ArrearageLimit><YearPrice Remark="年费,元/年">0</YearPrice></Common></Info>  

Javascript 操作 Sql中的Xml 字段