我正在使用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