`
xsuo
  • 浏览: 123427 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

脚本代码:实例解析Js+XML的操作方法

阅读更多
我的xml文件Login.xml如下.
<?xmlversion="1.0"encoding="utf-8"?>
<Login>
<Character>
<CText="热血"Value="0"></C>
<CText="弱气"Value="1"></C>
<CText="激情"Value="2"></C>
<CText="冷静"Value="3"></C>
<CText="冷酷"Value="4"></C>
</Character>
<Weapon>
<WText="光束剑"Value="0"></W>
<WText="光束配刀"Value="1"></W>
</Weapon>
<EconomyProperty>
<PText="平均型"Value="0"></P>
<PText="重视攻击"Value="1"></P>
<PText="重视敏捷"Value="2"></P>
<PText="重视防御"Value="3"></P>
<PText="重视命中"Value="4"></P>
</EconomyProperty>
</Login>

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

returnxmlDoc;
}

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

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

returnxmlDoc;
}

//然后开始获取需要的Login/Weapon/W的第一个节点的属性值
varxmlDoc=checkXMLDocObj('/EBS/XML/Login.xml');
varv=xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')

而我在我的程序中的写法是这样子的,当然我在程序中的写法是已经应用到实际中的了.一并给出来,以供查看

initializeSelect=function(oid,xPath)
{
varxmlDoc=checkXMLDocObj('/EBS/XML/Login.xml');
varn;
varl;
vare=$(oid);
if(e!=null)
{
n
=xmlDoc.getElementsByTagName(xPath)[0].childNodes;
l
=n.length;
for(vari=0;i<l;i++)
{
varoption=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格式:<a>b</b>, 于是可以得到b这个值.
xmlDoc.documentElement.childNodes(0).hasChild,可以判断是否有子节点

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

相关推荐

    JS+XML+FLASH焦点图切换广告代码

    综上所述,"JS+XML+FLASH焦点图切换广告代码"是一个综合运用了JavaScript、XML和Flash技术的实例,旨在提供一种动态、交互式的广告展示方式。尽管Flash在现代网页设计中的地位已经不如从前,但理解这种结合方法对于...

    JS+XML地区选择

    总的来说,“JS+XML地区选择”是一个涉及JavaScript动态更新页面、XML数据处理、DOM操作等多个知识点的综合应用实例。开发者需要掌握JavaScript的基本语法、DOM操作、异步请求和数据解析等技能,才能实现这样一个...

    asp+xmlhttp+javascript+xml

    在这里,ASP接收XMLHTTP请求,可能涉及的操作包括解析请求参数、查询数据库、处理业务逻辑,最后将结果封装成XML字符串并返回。 总结来说,这个模型展示了如何利用AJAX技术结合XML和ASP实现高效、无刷新的用户交互...

    asp.net操作xml代码示例和js小功能实例

    在这个“asp.net操作xml代码示例和js小功能实例”项目中,我们将探讨如何在ASP.NET环境下处理XML文档,以及JavaScript的一些实用技巧。 首先,让我们深入了解一下ASP.NET操作XML的要点。在ASP.NET中,我们可以使用...

    javascript 操作xml的所有属性事件方法和实例

    以上就是JavaScript操作XML的基本知识,包括创建XML对象、DOM操作、事件处理以及通过AJAX获取和解析XML数据的方法。理解这些概念和实践,将有助于你在实际项目中更好地处理XML数据。在提供的“JavaScript节点操作xml...

    PHP+AJAX+XML 最简单入门实例

    - `js`文件夹:可能包含额外的JavaScript库或脚本,支持AJAX请求和XML解析。 总的来说,这个入门实例展示了如何使用PHP处理后台逻辑,AJAX实现无刷新通信,以及XML作为数据交换格式,共同创建了一个动态的Web应用。...

    ASP实例开发源码—asp+XML留言本 v1.2.zip

    在ASP中,XML数据可以通过DOM(Document Object Model)或XPath(XML Path Language)进行解析和操作。DOM将XML文档转换为树形结构,便于访问和修改节点;XPath则提供了一种查找XML文档中特定节点的方法。此外,ASP...

    利用MSXML解析xml文件实例

    本实例将详细介绍如何利用Microsoft的MSXML库来解析XML文件。 MSXML,全称为Microsoft XML Core Services,是微软提供的一套用于处理XML文档的COM组件。它提供了多种接口,如IXMLDOMDocument,IXMLDOMNode等,供...

    js 操作页面加载xml

    在网页开发中,JavaScript(简称JS)是一种广泛使用的客户端脚本语言,用于处理用户交互、操作DOM(Document Object Model)以及与服务器进行通信。当涉及到XML(eXtensible Markup Language)数据时,JS同样能发挥...

    javasript+xml分页_Ajax.txt

    5. 解析XML:使用DOM方法解析XML,如document.createElement()和appendChild(),将数据插入到网页的相应位置。 6. 更新界面:根据解析的结果,修改DOM树,显示新的分页内容。 五、优化与扩展 1. 错误处理:添加异常...

    Js解析xml实现省市县简三级联动单成功实例

    总结来说,这个成功的实例展示了如何用JavaScript解析XML数据,并结合DOM操作实现省市县三级联动的效果。在实际应用中,这种技术常用于动态生成下拉列表,提供用户友好的交互体验,特别是在需要根据上一级选择更新下...

    javascript 解析 rss 实例

    JavaScript可以通过XMLHttpRequest对象或现代浏览器中的fetch API来加载RSS XML文件,然后使用DOM(Document Object Model)方法解析这些数据。 以下是一个简单的JavaScript解析RSS实例的步骤: 1. **加载XML文件*...

    JavaScript 全部实例代码

    在"JavaScript全部实例代码"中,你将找到大量关于JavaScript语法和函数的实用示例,这些实例对于理解和掌握JavaScript至关重要。 首先,我们来看看JavaScript的基础语法。JavaScript的基本结构包括变量声明(`var`,...

    XML$XSLT$HTML$JAVASCRIPT转换实例

    此外,JavaScript代码会嵌入到HTML中,或者作为外部JS文件引用,以处理用户的交互行为,如点击事件、表单提交等,也可以根据需要动态地加载或处理XML数据。 这个任务可能涉及到以下几个关键技术点: 1. XML解析:...

    js读取xml的例子,个人编程

    JavaScript(简称JS)是一种广泛用于Web开发的轻量级脚本语言,它可以用来操作和处理网页中的各种元素,包括XML(可扩展标记语言)数据。XML作为一种数据交换格式,常用于存储结构化数据,如配置文件、数据传输或...

    XML基础实例 文档对象模型

    DOM的操作方法: 1. **加载和解析**:使用DOM解析器将XML文档加载到内存中并构建DOM树。 2. **访问节点**:通过节点的层级关系(如父节点、子节点、兄弟节点)进行查找。 3. **修改节点**:可以创建新节点、删除现有...

    JavaScript操作XML(js XML).doc

    JavaScript操作XML主要涉及的是在网页中使用JavaScript与XML(可扩展标记语言)进行交互,用于数据传输、存储和处理。以下是一些关键知识点: 1. **DOM解析**:DOM(Document Object Model)是XML和HTML文档的标准...

    JS读取XML实例.zip

    JavaScript(简称JS)是一种广泛用于网页和网络应用的脚本语言,它主要负责网页的动态交互功能。在现代Web开发中,XML(可扩展标记语言)作为一种数据交换格式,常用于存储结构化数据。本实例将详细介绍如何使用...

    JavaScript获取XML文件的数据

    JavaScript,作为Web开发中的主要脚本语言,提供了DOM(Document Object Model) API,可以用来解析XML文档并进行操作。 1. **加载XML文件** - **使用AJAX**:XMLHttpRequest对象是JavaScript中用于异步请求数据的...

    基于JS操作XML操作的省市县三级联动实例

    本文将深入探讨如何使用JavaScript操作XML来实现省市县三级联动的效果,这是一种提高用户界面交互性的实用方法。 首先,理解XML(Extensible Markup Language)的基本概念至关重要。XML是一种用于标记数据的语言,...

Global site tag (gtag.js) - Google Analytics