,,JS操作XML实例总结(加载与解析XML文件、字符串)

,,JS操作XML实例总结(加载与解析XML文件、字符串)

这篇文章主要介绍了射流研究…操作可扩展标记语言的方法,结合实例形式总结分析了Java脚本语言加载与解析可扩展标记语言文件及字符串的相关技巧,需要的朋友可以参考下

本文实例讲述了射流研究…操作可扩展标记语言的方法。分享给大家供大家参考,具体如下:

我的可扩展标记语言文件Login.xml如下。

?可扩展标记语言版本='1.0 '编码='utf-8 '?

注册

性格;角色;字母

C Text='热血值="0"/C

C Text='弱气Value='1'/C

C Text='激情Value='2'/C

C Text='冷静值='3'/C

C Text='冷酷Value='4'/C

/字符

武器

W Text='光束剑值='0'/W

W Text='光束配刀值='1'/W

/武器

经济财产

P Text='平均型值="0"/P

P Text='重视攻击Value='1'/P

P Text='重视敏捷Value='2'/P

P Text='重视防御Value='3'/P

P Text='重视命中Value='4'/P

/经济属性

/登录

现在我需要对这个可扩展标记语言文件的内容进行操作。

首先,我们需要加载这个可扩展标记语言文件,js中加载可扩展标记语言文件,是通过XMLDOM来进行的。

//加载可扩展标记语言文档

loadXML=function(xmlFile)

{

var xmlDoc

如果(窗口. ActiveXObject)

{

XML doc=新建ActiveX对象(' Microsoft .XML DOM’);

xmlDoc.async=false

XML文档。加载(XML文件);

}

else if(文档。实施文件。实施。创建文档)

{

XML doc=文档。实施。创建文档('','',null);

XML文档。加载(XML文件);

}

其他

{

返回空

}

返回xmlDoc

}

可扩展标记语言文件对象出来了,接下去我就要对这个文档进行操作了。

比如说,我们现在需要得到节点登录/武器/W的第一个节点的属性,那么我们可以如下进行。

//首先对可扩展标记语言对象进行判断

checkXMLDocObj=函数(xmlFile)

{

var XML doc=load XML(XML文件);

if(xmlDoc==null)

{

警报('您的浏览器不支持可扩展标记语言文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');

窗户。位置。href='/index。aspx ';

}

返回xmlDoc

}

//然后开始获取需要的登录/武器/W的第一个节点的属性值

var XML doc=checkXMLDocObj('/EBS/XML/log in。XML’);

var v=XML doc。getelementsbytagname(' log in/Weapon/W ')[0]。子节点。获取属性(“文本”)

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

initializeSelect=function(oid,xPath)

{

var XML doc=checkXMLDocObj('/EBS/XML/log in。XML’);

var n;

var l;

var e=$(oid);

如果(e!=空)

{

n=XML文档。getelementsbytagname(xPath)[0].子节点;

l=n。长度;

for(var I=0;il;我)

{

var选项=文档。createelement(' option ');

option.value=n[i].get属性(" Value ");

option.innerHTML=n[i].get属性(" Text ");

阑尾切除术(选项);

}

}

}

上面的访问代码中,我们是通过XML文档。getelementsbytagname(xPath)来进行的。

还可以通过XML文档。文档元素。子节点(1).子节点(0).getAttribute('Text ')进行访问。

一些常用方法:

XML文档。文档元素。子节点(0).节点名,可以得到这个节点的名称。

XML文档。文档元素。子节点(0).节点值,可以得到这个节点的值。这个值是来自于这样子的可扩展标记语言格式:ab/b,于是可以得到b这个值。

XML文档。文档元素。子节点(0).hasChild,可以判断是否有子节点

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

补充:

JS解析XML文件

脚本类型='文本/javascript '

loadXML=function(xmlFile){

var xmlDoc=null

//判断浏览器的类型

//支持工业管理学(工业工程)浏览器

如果(!窗户. DOMParser窗口ActiveXObject){

var xmlDomVersions=[' MSXML。2 .DOM文档。' 6.0 ',' MSXML.2.DOMDocument.3.0 ','微软. XML DOM '];

for(var I=0;ixmlDomVersions.lengthi ){

尝试{

XML doc=新的ActiveX对象(xmlDomVersions[I]);

打破;

}catch(e){

}

}

}

//支持浏览器名浏览器

else if(文档。实施文件。实施。创建文档){

尝试{

/*文档。实施。创建文档('','',null);方法的三个参数说明

* 第一个参数是包含文档所使用的命名空间上呼吸道感染的字符串;

* 第二个参数是包含文档根元素名称的字符串;

* 第三个参数是要创建的文档类型(也称为doctype)

*/

XML doc=文档。实施。创建文档('','',null);

}catch(e){

}

}

否则{

返回空

}

if(xmlDoc!=null){

xmlDoc.async=false

XML文档。加载(XML文件);

}

返回xmlDoc

}

/脚本

JS解析XML字符串

脚本类型='文本/javascript '

loadXML=function(xmlString){

var xmlDoc=null

//判断浏览器的类型

//支持工业管理学(工业工程)浏览器

如果(!窗户. DOMParser窗口ActiveXObject){ //window .DOMParser判断是否是非爱尔兰共和国浏览器

var xmlDomVersions=[' MSXML。2 .DOM文档。' 6.0 ',' MSXML.2.DOMDocument.3.0 ','微软. XML DOM '];

for(var I=0;ixmlDomVersions.lengthi ){

尝试{

XML doc=新的ActiveX对象(XML DOM versions[I]);

xmlDoc.async=false

XML文档。加载XML(XML字符串);//loadXML方法载入可扩展标记语言字符串

打破;

}catch(e){

}

}

}

//支持浏览器名浏览器

else if(窗口DOM解析器文档。实施文件。实施。创建文档){

尝试{

/* DOMParser对象解析可扩展标记语言文本并返回一个可扩展标记语言文档对象。

* 要使用DOMParser,使用不带参数的构造函数来实例化它,然后调用其parseFromString()方法

* parseFromString(文本,内容类型)参数文本:要解析的可扩展标记语言标记参数内容类型文本的内容类型

* 可能是"文本/xml "、"应用程序/xml "或'应用程序/xhtml xml '中的一个。注意,不支持文本/html。

*/

DOM parser=new DOM parser();

XML doc=DOM解析器。parsefromstring(XML字符串,' text/XML ');

}catch(e){

}

}

否则{

返回空

}

返回xmlDoc

}

/脚本

测试XML

?可扩展标记语言版本='1.0 '编码='utf-8 '?

东方

公司

cNname1/cNname

cIP1/cIP

/公司

公司

cNname2/cNname

cIP2/cIP

/公司

公司

cNname3/cNname

cIP3/cIP

/公司

公司

cNname4/cNname

cIP4/cIP

/公司

公司

cNname5/cNname

cIP5/cIP

/公司

公司

cNname6/cNname

cIP6/cIP

/公司

/东方

使用方法:

var xmldoc=loadXML(text.xml)

var elements=XML doc。getelementsbytagname(“公司”);

for(var I=0;我。元素.长度;i ) {

var name=elements[i].getElementsByTagName(' cn name ')[0]。第一个孩子。nodevalue

var ip=elements[i].getElementsByTagName(' cIP ')[0]。第一个孩子。nodevalue

}

希望本文所述对大家Java脚本语言程序设计有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于js的面试题,前段js面试题
  • 关于js的面试题,前段js面试题,送你43道JS面试题(收藏)
  • 关于js中的全等和不全等,等于和不等于问题的关系,
  • 关于js中的全等和不全等,等于和不等于问题的关系,,关于JS中的全等和不全等、等于和不等于问题
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么,全面了解JS中的匿名函数
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令,使用JS实现简单的图片切换功能
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装,使用JS代码实现点击按钮下载文件
  • 代码错误未结束的字符串常量,代码错误未结束的字符串常量,js 未结束的字符串常量错误解决方法
  • 什么叫jsp,jsp的概念是什么
  • 什么叫jsp,JSP是指
  • 留言与评论(共有 条评论)
       
    验证码: