在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取。这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多,于是网上查找了一些资料。实现了JS读Xml字段信息的方法。
首先我们在页面中放一个TextBox 用来放Xml字段。切记:不可用Label,因为万一Xml字段信息中有“”这种符号时,页面会产生Js错误。
接下去,就是重点了。付JS代码:
1
2
3
4
5
6
7
8
9
|
function createXml(str){
if (document.all){
var xmlDom= new ActiveXObject( "Microsoft.XMLDOM" )
xmlDom.loadXML(str)
return xmlDom
}
else
return new DOMParser().parseFromString(str, "text/xml" )
}
|
//以上的方法是将字符串实例化为Xml
最后就是操作这个Xml 了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
window.onload= function () {
var str=document.getElementById( "ctl00_ContentPlaceHolder1_TextBox1" ).value;
var obj=createXml(str);
//得到根节点
var root_node=obj.documentElement;
var yh1= "" ;
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格式:
1
|
< Info Remark = "文件模板" >< Common Remark = "通用配置" >< DisCopy Remark = "复印件折扣" >100</ DisCopy >< DisOriginal Remark = "折扣" >100</ DisOriginal >< ArrearageLimit Remark = "欠费上限" >0</ ArrearageLimit >< YearPrice Remark = "年费,元/年" >0</ YearPrice ></ Common ></ Info >
|