如何使用javascript解析xml文件.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用JavaScript解析xml文件或xml格式字符串

javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。

假定xml格式字符串为xmlStr,首先加载xml

// 我们假定不知道客户端使用的浏览器,所以对于XMLDom的创建,尽量满足多浏览器的环境

var xmlDoc;

//如果ie 此判断和下面其他浏览器的判断可以忽略,此处只为说明代码

if (window.ActiveXObject) {

// 由于不知道ie的版本,尽量保持程序的兼容性

var ARR_ACTIVEX =

["MSXML4.DOMDocument","MSXML3.DOMDocument","MSXML2.DOMDocument","MSXM L.DOMDocument","Microsoft.XmlDom"];

// XMLDOM是否创建成功的标志

var XmlDomflag = false;

for (var i =0;i < ARR_ACTIVEX.length &&!XmlDomflag ;i++) { try {

// 尝试创建对象,如果不能正常创建,它会抛出一个错误

var objXML =new ActiveXObject(ARR_ACTIVEX[i]);

// 如果程序能运行到这里,则说明XMLDom对象已经成功创建,所以保存

xmlDoc = objXML;

XmlDomflag = true;

} catch (e) {

}

}

if (xmlDoc) {

xmlDoc.async = false;

// 加载xml,如果是xml文件的话则调用load(xmlFile)

xmlDoc.loadXML(xmlStr);

} else {

return;

}

} else if (document.implementation &&

document.implementation.createDocument) { // 判断是不是遵从标准的浏览器

// 建立DOM对象的标准方法

xmlDoc = document.implementation.createDocument('', '', null); xmlDoc.loadXML(xmlStr);

} else {

// 进这里我也没辙了

return;

}

XMLDOM对象出来了,接下来便是对Dom的操作部分,随便写一个xml字符串简单举个例子:

var xml;

xml ='0成功';

经过上面的。。。加载进来后

// 加载进来地xml~~

var temp = xmlDoc.xml;

// 取得所有Field 元素

var elementList;

elementList = xmlDoc.getElementsByTagName('Field');

// 遍历

for (var j =0;j < elementList.length; j++) {

var value;

// 取得当前元素属性id的值

value = elementList[j].getAttribute('id');

alert(value);

// 可以设定当前元素属性id的值

elementList[j].setAttribute('id','ooo');

var childs;

// 当前元素的子节点

childs = list[j].childNodes;

// 如果没有子节点(...间没有任何值)就不能取子节点,否则会出错。比如id是ICNO的那个元素

if (childs.length >0) {

// childs[0]是第一个当然就代表当前元素的值了,nodeValue可以取得这个节点的值。

alert(childs[0].nodeValue);

}

}

相关文档
最新文档