All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP基础:PHP4和PHP5的配置异同比较_[PHP教程]
分离及附加数据库_[SQL Server教程]
ASP.NET技巧:错误处理封装_[Asp.Net教程]_0
SQL,SERVER中一些对象的名称更改_[SQL,Server教程]
C#中的 ImageAnimator类的应用
ASP.NET,2.0打造购物车和支付系统之二_[Asp.Net教程]
用ASP.NET,2.0实现AJAX风格的Web开发_[Asp.Net教程]
SQL,安装_[SQL,Server教程]
将ASP.NET页面内的数据导出到Excel,或,Word中_[Asp.Net教程]
关于ASP.NET页面打印技术的总结_.net资料_编程技术
Reading number is top 10 pictures
囚犯暴乱了咋办?
2012 national geographic daily picture2
Cesarean section, bloody, silently into it!2
9.3阅兵全景图3-外国方阵梯队和坦克方阵梯队
美丽的少女1
Sora aoi in China1
The goddess of the single reason1
西班牙山村小景2
美女和狗狗2
Other people's teacher VS my teacher
Download software ranking
Unix video tutorial15
asp.netWeb服务器高级编程
Boxer Classic video2
linux初级教程
linux安装大全
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
Unix video tutorial11
Eclipse 4.2.1 For Win32
matrix2
Proficient in JavaScript
delv published in(发表于) 2013/12/31 6:56:56 Edit(编辑)
脚本代码:实例解析Js+XML的操作方法_JavaScript技术_编程技术

脚本代码:实例解析Js+XML的操作方法_JavaScript技术_编程技术

脚本代码:实例解析Js+XML的操作方法_JavaScript技术_编程技术-你的首页-uuhomepage.com

我的xml文件Login.xml如下.





















现在我需要对这个xml文件的内容进行操作.
首先,我们需要加载这个xml文件,js中加载xml文件,是通过XMLDOM来进行的.
// 加载xml文档
loadXML = function(xmlFile)
{
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(xmlFile);
}
else
{
return null;
}

return xmlDoc;
}


xml文件对象出来了, 接下去我就要对这个文档进行操作了.
比如说,我们现在需要得到节点Login/Weapon/W的第一个节点的属性,那么我们可以如下进行.



// 首先对xml对象进行判断
checkXMLDocObj = function(xmlFile)
{
var xmlDoc = loadXML(xmlFile);
if(xmlDoc==null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
window.location.href='/Index.aspx';
}

return xmlDoc;
}


// 然后开始获取需要的Login/Weapon/W的第一个节点的属性值
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var v = xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')
而我在我的程序中的写法是这样子的,当然我在程序中的写法是已经应用到实际中的了.一并给出来,以供查看
initializeSelect = function(oid, xPath)
{
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var n;
var l;
var e = $(oid);
if(e!=null)
{
n = xmlDoc.getElementsByTagName(xPath)[0].childNodes;
l = n.length;
for(var i=0; i {
var option = document.createElement('option');
option.value = n[i].getAttribute('Value');
option.innerHTML = n[i].getAttribute('Text');
e.appendChild(option);
}
}
}
上面的访问代码中,我们是通过xmlDoc.getElementsByTagName(xPath)来进行的.
还可以通过xmlDoc.documentElement.childNodes(1)..childNodes(0).getAttribute('Text')进行访问.
一些常用方法:
xmlDoc.documentElement.childNodes(0).nodeName,可以得到这个节点的名称.
xmlDoc.documentElement.childNodes(0).nodeValue,可以得到这个节点的值. 这个值是来自于这样子的xml格式:b, 于是可以得到b这个值.
xmlDoc.documentElement.childNodes(0).hasChild,可以判断是否有子节点


根据我的经验,最好是使用getElementsByTagName(xPath)的方法对节点进行访问,因为这样子可以直接通过xPath来定位节点,这样子会有更好的性能.





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.