我正在使用VBScript獲取節點,示例//employeeid
。我得到長度大於0的節點列表。現在我需要做的是獲取節點列表中每個節點的父XML。我正在嘗試../../employeeid
或parent::invoicenumber
。所有的退貨null或長度爲0找到節點後獲得父節點
-1
A
回答
0
要獲得<employeeid>
您可以使用下面的XPath表達式的所有節點的父節點:
//employeeid/..
2
爲了獲得給定節點的父節點,使用該節點的.parentNode屬性:
Dim sXML : sXML = Join(Array(_
"<?xml version=""1.0""?>" _
, "<humans>" _
, " <adam>" _
, " <children>" _
, " <kain></kain>" _
, " <abel></abel>" _
, " </children>" _
, " </adam>" _
, "</humans>" _
), vbCrLf)
Dim oXDoc : Set oXDoc = CreateObject("Msxml2.DOMDocument.6.0")
Dim sXPath : sXPath = "/humans/adam/children/*"
oXDoc.setProperty "SelectionLanguage", "XPath"
oXDoc.async = False
oXDoc.loadXml sXML
If 0 = oXDoc.ParseError Then
Dim ndlAdamsChildren : Set ndlAdamsChildren = oXDoc.SelectNodes(sXPath)
Dim ndChild
For Each ndChild In ndlAdamsChildren
WScript.Echo ndChild.tagName, ndChild.parentNode.parentNode.tagName
Next
Else
WScript.Echo oXDoc.parseError.reason
End If
輸出:
kain adam
abel adam
更新WRT Jobbo的評論:
使用
WScript.Echo ndChild.tagName, ndChild.selectSingleNode("../..").tagName
(標記兩個步驟)從kain獲得/能夠通過XPath達到adam。
相關問題
- 1. EXTJS找到節點的父節點
- 2. jqGrid TreeGrid找到節點的父節點
- 3. 查找父節點?
- 4. 獲得從父節點父在JS
- 5. 從父節點獲取img節點
- 6. 獲取節點的JSON父節點
- 7. 獲取父節點
- 8. 獲得給定節點的父節點D3樹狀圖
- 9. 如何獲得子節點的父節點
- 10. 如何獲得子節點而不是父節點?
- 11. XSLT - 將節點移動到父節點
- 12. 找到指定節點後找到兄弟節點
- 13. 的JavaScript只得到DIV父節點的值(無子節點)
- 14. 父節點/父節點/類選擇器
- 15. TreeView在添加子節點時找不到父節點
- 16. 找到節點內容文本上的父節點
- 17. 試圖找到二進制樹中的節點的父節點
- 18. 使用nltk找到祖父節點的節點
- 19. 如何在二叉樹中找到節點的父節點?
- 20. 紅黑樹 - 如何找到節點的父節點?
- 21. MySQL嵌套集 - 如何找到節點的父節點?
- 22. 獲得提升property_tree父節點
- 23. Jstree - 如何獲得父節點的子節點(換句話說,如何獲得兄弟節點)
- 24. 找到特定節點後查找節點
- 25. 爲什麼打印節點的父節點返回父節點+子節點?
- 26. 獲得另一個節點的子節點,定節點名稱
- 27. 從XPATH後代獲取父節點值
- 28. Java 8 Stream API:獲得特定節點後的所有節點
- 29. NullPointerExceptions當在樹中找到父節點
- 30. 如何找到'this'節點的'父'?
此。你也可以在ndChild的上下文中執行XPath查詢,比如:'ndChild.SelectSingleNode(「..」)'如果你喜歡保留所有的XPath(我通常會這樣做) – Jobbo