Javascript 读取操作Sql中的Xml字段
在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取。这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多,于是网上查找了一些资料。实现了JS读Xml字段信息的方法。
首先我们在页面中放一个TextBox用来放Xml字段。切记:不可用Label,因为万一Xml字段信息中有“”这种符号时,页面会产生Js错误。
接下去,就是重点了。付JS代码:
functioncreateXml(str){ if(document.all){ varxmlDom=newActiveXObject("Microsoft.XMLDOM") xmlDom.loadXML(str) returnxmlDom } else returnnewDOMParser().parseFromString(str,"text/xml") }
//以上的方法是将字符串实例化为Xml
最后就是操作这个Xml了
window.onload=function(){ varstr=document.getElementById("ctl00_ContentPlaceHolder1_TextBox1").value; varobj=createXml(str); //得到根节点 varroot_node=obj.documentElement; varyh1=""; for(i=0;i<root_node.childNodes[0].childNodes.length-1;i++) { yh1+=""+(i+1)+"、"+root_node.childNodes[0].childNodes[i].getAttribute("Remark")+":"+root_node.childNodes[0].childNodes[i].firstChild.nodeValue; yh1+="<br/>" } document.getElementById("ctl00_ContentPlaceHolder1_lblContent").innerHTML=yh1; } }
付Xml格式:
<InfoRemark="文件模板"><CommonRemark="通用配置"><DisCopyRemark="复印件折扣">100</DisCopy><DisOriginalRemark="折扣">100</DisOriginal><ArrearageLimitRemark="欠费上限">0</ArrearageLimit><YearPriceRemark="年费,元/年">0</YearPrice></Common></Info>