日期:2014-05-16  浏览次数:20314 次

JavaScript解析XML知识点总结

最近做的这个项目使用了大量的JavaScript,同时需要做一个Metrics Framework框架,功能主要是解析一个XML文件生成一个JS文件,但同时也需要写一些JS函数解析XML文件节点,结合JsUnit测试这些JS函数.因此把JavaScript解析XML知识点总结一些重要的出来,与大家分享一下!!!

?

1.JAVASCRIPT中的创建对象

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
2.创建解析器对象
set objXml=CreateObject("Microsoft.XMLDOM")
objXml.async="false"
objXml.load("test.xml")???? 装载xml文件
3.根据绝对路径装载xml文件
objXml.load(Server.MapPath("test.xml"))?
4.查找某一节点"NewList"
Set objRootsite = xmlDoc.getElementsByTagName("NewList")
objNextRootsiteName = xmlDoc.getElementsByTagName("NewList").item(0).nodeName

5.查找某一节点"NewList"
Set objRootsite = objXml.documentElement.selectSingleNode("NewList")
document.write(objRootsite.nodeName) '当前节点名称
objNextRootsite = objRootsite.childNodes.item(1) '查找"NewList"的第一子节点
objNextRootsiteText = objNextRootsite.childNodes.item(1).text '查找"NewList"的第一子节点的节点内容

6.获取当前节点
xmlChildNode = objXml.documentElement.childNodes
document.Write (xmlChildNode.nodename) '当前节点名称
document.write (xmlChildNode.text) '当前节点文本内容

7.?将Xml中的文本内容转换为Html中的内容
frm.label.innerText = xmlChildNode.item(1).text
8.获取属性名为name的属性值
xmlChildNode.GetAttributeNode("name").Nodevalue
9.获取xmlChildNode节点的子节点数量
xmlChildNode.length
10.取出一个节点的属性集合
set objnodes=objXml.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes
for each element in objnodes
response.write element.nodename 属性名
response.write element.nodevalue 属性值?


xmlDoc.getElementsByTagName("from").item(0).text

xmlDoc.removeChild objRootsite 删除某个节点

11.其它一些与错误有关的解析
objXml.parseError 错误接受容器
objXml.parseError.errorCode 返回长整型错误代码
objXml.parseError.reason 返回字符串型错误原因
objXml.parseError.line 返回长整型错误行号
objXml.parseError.linePos 返回长整型错误行字符位置
objXml.parseError.srcText 返回错误所在行的源代码
objXml.parseError.url 返回url装载文档指针---最近一份含有解析错误的XML文档的URL地址
objXml.parseError.filePos 返回长整型错误文件位置---在文档中的绝对字符位置

1 楼 ajaxgo 2008-06-06  
js解析xml,用sarissa吧