JavaScript 解析数据库 Xml 字段并展示在页面
作者:小算盘时间:2026-10-28 14:44:57浏览:138
本文介绍如何将数据库中存储的Xml字段数据通过JavaScript进行解析并展示在网页上。核心思路是避免直接使用SQL处理复杂Xml,而是先获取字符串,再利用JS实例化为XML对象。文章提供了兼容IE与非IE浏览器的解析函数,并演示了如何遍历节点获取属性与文本内容,最终渲染至页面元素。
背景与思路
在项目开发中,若需将数据库内Xml字段的信息直接通过SQL语句提取并展示于页面,处理逻辑往往过于繁琐。为此,一种更优的方案是先从数据库读取Xml字段数据,随后利用JavaScript对该数据进行解析与操作,从而简化实现过程。基于此思路,经过资料查阅与验证,成功实现了通过JS读取并处理Xml字段信息的方法。
页面控件选择注意事项
首先,在HTML页面中需放置一个TextBox控件用于承载Xml字段数据。需要特别注意,严禁使用Label控件。原因在于,若Xml字段内容中包含双引号(")等特殊符号,使用Label控件可能导致页面出现JavaScript执行错误。
接下来是核心实现部分,具体JavaScript代码如下:
XML解析函数实现
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对象进行具体操作:
XML数据遍历与页面渲染
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数据格式如下:
示例XML数据结构
<Info Remark="文件模板"><Common Remark="通用配置"><DisCopy Remark="复印件折扣">100</DisCopy><DisOriginal Remark="折扣">100</DisOriginal><ArrearageLimit Remark="欠费上限">0</ArrearageLimit><YearPrice Remark="年费,元/年">0</YearPrice></Common></Info>
作者最新文章
适合小型JS应用的轻量级数据库推荐
2026-11-02 10:26:10
基于jQuery与PHP的通用留言板组件封装实现
2026-10-30 05:56:31
Node.js 连接与操作 MongoDB 数据库完整示例
2026-10-22 20:51:15
Node.js实现MongoDB到MySQL的数据同步方案
2026-10-22 10:32:16
JavaScript使用ActiveXObject连接远程SQL Server 2014数据库的方法
2026-10-22 05:57:06
