xmlDom.Load(folder_location + "\wkf_batch_logging_template.xml")選擇單個(gè)節(jié)點(diǎn)SelectSingleNode( [XPATH] )
Set xmlNode = xmlDom.SelectSingleNode("http://POWERMART/REPOSITORY/FOLDER/WORKFLOW/SESSION")其中"http://POWERMART/REPOSITORY/FOLDER/WORKFLOW/SESSION"為XPATH表達(dá)式,提供尋找節(jié)點(diǎn)路徑。
選擇多個(gè)節(jié)點(diǎn),selectNodes( [XPATH] ),常用伴隨foreach遍歷
Set xmlNodeList = xmlDom_temp.selectNodes("http://POWERMART/REPOSITORY/FOLDER/WORKFLOW/SESSION/SESSIONEXTENSION")
Set xmlNode = Nothing
For Each xmlNode In xmlNodeList
' 遍歷內(nèi)容
Next
獲取節(jié)點(diǎn)屬性值xmlNode.attributes.getNamedItem("TRANSFORMATIONTYPE").nodeValue
替換節(jié)點(diǎn)replaceChild(newNode, oldNode)
Set xmlNode = xmlDom_temp.SelectSingleNode("http://POWERMART/REPOSITORY/FOLDER/WORKFLOW/SESSION")
Set xmlNode_root = xmlDom_temp.SelectSingleNode("http://POWERMART/REPOSITORY/FOLDER/WORKFLOW")
Set xmlNode_wkf = xmlDom_wkf.SelectSingleNode("http://POWERMART/REPOSITORY/FOLDER/WORKFLOW/SESSION")
Set xmlNode_root = xmlNode_root.replaceChild(xmlNode_wkf, xmlNode)
更多MSXML DOM的屬性/方法參考如下:
XML DOM對(duì)象屬性
屬性
描述
async
設(shè)置或獲取是否允許以異步方式載入XML文檔
attributes
獲取節(jié)點(diǎn)的屬性列表
childNodes
獲取節(jié)點(diǎn)的子節(jié)點(diǎn)列表
doctype
獲取與文檔關(guān)聯(lián)的文檔類型聲明,不包含聲明則返回null
documentElement
獲取在根節(jié)點(diǎn)中包含數(shù)據(jù)的對(duì)象,如果文件中不具有唯一根節(jié)點(diǎn),返回null
firstChild
獲取節(jié)點(diǎn)中的首個(gè)子節(jié)點(diǎn),如果不具有子節(jié)點(diǎn)則返回null
lastChild
獲取節(jié)點(diǎn)中的末個(gè)子節(jié)點(diǎn),如果不具有子節(jié)點(diǎn)則返回null
nextSibling
獲取節(jié)點(diǎn)所在的節(jié)點(diǎn)列表中下一個(gè)節(jié)點(diǎn)
nodeName
獲取節(jié)點(diǎn)的名稱
nodeType
獲取節(jié)點(diǎn)的類型,(參見(jiàn)下表)
nodeValue
獲取文本節(jié)點(diǎn)值
ondataavailable
設(shè)置處理ondataavailable事件的函數(shù)
onreadystatechange
獲取處理onreadystatechange事件的函數(shù)
parentNode
獲取節(jié)點(diǎn)的父節(jié)點(diǎn),如果不具有父節(jié)點(diǎn)則返回null
parseError
獲取DOM解析錯(cuò)誤對(duì)象,此對(duì)象描述最后解析錯(cuò)誤的信息
previousSibling
獲取節(jié)點(diǎn)所在的節(jié)點(diǎn)列表中上一個(gè)節(jié)點(diǎn)
readyState
獲取XML文檔的載入狀態(tài)。狀態(tài)值:
0-UNINITIALIZED:XML DOM對(duì)象已聲明,但未初始化
1-LOADING:文檔載入中,但未開(kāi)始解析
2-LOADED:部分文檔已經(jīng)加載且進(jìn)行解析,但對(duì)象模型尚未生效
3-INTERACTIVE:對(duì)已加載的部分文檔有效,此時(shí)對(duì)象模型是有效但只讀的
4-COMPLETED:文件已完全加載,加載成功
url
傳回最近一次加載XML文檔的URL。若文檔不由外部載入則返回null
validateOnParse
告訴解析器文件是否有效
xml
獲取節(jié)點(diǎn)的XML描述和所有的子節(jié)點(diǎn)
Node節(jié)點(diǎn)類型說(shuō)明
Document
文件階層中的根節(jié)點(diǎn)(DOM樹(shù)的根節(jié)點(diǎn))
Element
一個(gè)元素
Attr
一個(gè)屬性,注意:屬性與其它節(jié)點(diǎn)類型不同,它們不是同一父節(jié)點(diǎn)的子節(jié)點(diǎn)
ProcessingInstruction
處理指令
Comment
注釋
Text
處于一個(gè)元素或一個(gè)屬性中的文本內(nèi)容(字符數(shù)據(jù))
CDATASection
一塊包含字符的文本區(qū)
Entity
實(shí)體
XML DOM對(duì)象方法
abort()
取消一個(gè)正在執(zhí)行的異步下載
appendChild(newNode)
在當(dāng)前節(jié)點(diǎn)末端添加一個(gè)子節(jié)點(diǎn)newNode
cloneNode(flag)
復(fù)制當(dāng)前節(jié)點(diǎn),flag為true,復(fù)制整個(gè)節(jié)點(diǎn),為false則只復(fù)制該節(jié)點(diǎn)及屬性
createAttribute(attrName)
創(chuàng)建屬性attrName
createCDATASection(data)
創(chuàng)建包含指定數(shù)據(jù)的CDATA
createComment(data)
創(chuàng)建包含指定數(shù)據(jù)的注釋
createDocumentFragment()
創(chuàng)建空的文檔片斷
createElement(tagName)
創(chuàng)建元素tagName
createEntityReference(name)
創(chuàng)建名稱為name的實(shí)體參照
createNode(type,name[,nsURL])
創(chuàng)建新節(jié)點(diǎn),type為節(jié)點(diǎn)類型,name為節(jié)點(diǎn)名稱,nsURL為命名空間
createProcessingInstruction(
target,data )
創(chuàng)建處理指令,target為目標(biāo)、名稱或處理指令字符串,data為處理指令值
createTextNode(data)
創(chuàng)建文本節(jié)點(diǎn),data為內(nèi)容
getElementsByTagName(tagName)
獲取標(biāo)記為tagName的元素集合
hasChildNodes()
檢查節(jié)點(diǎn)是否含有子節(jié)點(diǎn)
insertBefore(newNode,theNode)
在節(jié)點(diǎn)theNode前插入新節(jié)點(diǎn)newNode
load(url)
載入url指定的一個(gè)XML文檔
loadXML(xmlString)
載入xmlString指定的XML代碼片段
nodeFromID(id)
取得ID為id的節(jié)點(diǎn)
parsed()
檢查節(jié)點(diǎn)包括其子節(jié)點(diǎn)是否已被解析
removeChild(theNode)
刪除節(jié)點(diǎn)的子節(jié)點(diǎn)theNode
replaceChild(newNode,oldNode)
以節(jié)點(diǎn)newNode替換節(jié)點(diǎn)oldNode
selectNodes(patternString)
取得所有匹配模式patternString的節(jié)點(diǎn)
selectSingleNode(patternString)
取得首個(gè)匹配模式patternString的節(jié)點(diǎn)
transformNode(styleSheet)
以樣式表styleSheet來(lái)處理節(jié)點(diǎn)及其子節(jié)點(diǎn)
XML DOM事件
Ondataavailable
在XML文檔有效時(shí)被觸發(fā)
Onreadystatechange
在readyState屬性值改變時(shí)被觸發(fā)