最近做的這個項(xiàng)目使用了大量的JavaScript,同時需要做一個Metrics Framework框架,功能主要是解析一個XML文件生成一個JS文件,但同時也需要寫一些JS函數(shù)解析XML文件節(jié)點(diǎn),結(jié)合JsUnit測試這些JS函數(shù).因此把JavaScript解析XML知識點(diǎn)總結(jié)一些重要的出來,與大家分享一下!!!
1.JAVASCRIPT中的創(chuàng)建對象
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
2.創(chuàng)建解析器對象
set objXml=CreateObject("Microsoft.XMLDOM")
objXml.async="false"
objXml.load("test.xml") 裝載xml文件
3.根據(jù)絕對路徑裝載xml文件
objXml.load(Server.MapPath("test.xml"))
4.查找某一節(jié)點(diǎn)"NewList"
Set objRootsite = xmlDoc.getElementsByTagName("NewList")
objNextRootsiteName = xmlDoc.getElementsByTagName("NewList").item(0).nodeName
5.查找某一節(jié)點(diǎn)"NewList"
Set objRootsite = objXml.documentElement.selectSingleNode("NewList")
document.write(objRootsite.nodeName) '當(dāng)前節(jié)點(diǎn)名稱
objNextRootsite = objRootsite.childNodes.item(1) '查找"NewList"的第一子節(jié)點(diǎn)
objNextRootsiteText = objNextRootsite.childNodes.item(1).text '查找"NewList"的第一子節(jié)點(diǎn)的節(jié)點(diǎn)內(nèi)容
6.獲取當(dāng)前節(jié)點(diǎn)
xmlChildNode = objXml.documentElement.childNodes
document.Write (xmlChildNode.nodename) '當(dāng)前節(jié)點(diǎn)名稱
document.write (xmlChildNode.text) '當(dāng)前節(jié)點(diǎn)文本內(nèi)容
7. 將Xml中的文本內(nèi)容轉(zhuǎn)換為Html中的內(nèi)容
frm.label.innerText = xmlChildNode.item(1).text
8.獲取屬性名為name的屬性值
xmlChildNode.GetAttributeNode("name").Nodevalue
9.獲取xmlChildNode節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)量
xmlChildNode.length
10.取出一個節(jié)點(diǎn)的屬性集合
set objnodes=objXml.documentElement.SelectSingleNode("http://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 刪除某個節(jié)點(diǎn)
11.其它一些與錯誤有關(guān)的解析
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 返回長整型錯誤文件位置---在文檔中的絕對字符位置