Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用VBA重复Xpath时获取XML中子标记的值_Xml_Vba_Xpath - Fatal编程技术网

在使用VBA重复Xpath时获取XML中子标记的值

在使用VBA重复Xpath时获取XML中子标记的值,xml,vba,xpath,Xml,Vba,Xpath,我在父项下有一个XPath,比如“/rrr/aaa/Parenttag/Childtag”。我需要获取子标记中的值。此Xpath在同一Xml文档中重复多次。因此,我在开头使用“/rrr/aaa/Parenttag/Childtag”和“”(星号) 我现在面临的问题是,我的Xpath也是另一个父级的一部分。当我使用“*”时,也会从中提取数据。有没有办法只从其他父母那里获取数据而不从其他父母那里获取数据 我希望我的解释可以理解 谢谢你的帮助 编辑: 我无法上传实际的XML。这里是我所拥有的XML结构

我在父项下有一个XPath,比如“/rrr/aaa/Parenttag/Childtag”。我需要获取子标记中的值。此Xpath在同一Xml文档中重复多次。因此,我在开头使用“/rrr/aaa/Parenttag/Childtag”和“”(星号)

我现在面临的问题是,我的Xpath也是另一个父级的一部分。当我使用“*”时,也会从中提取数据。有没有办法只从其他父母那里获取数据而不从其他父母那里获取数据

我希望我的解释可以理解

谢谢你的帮助

编辑:

我无法上传实际的XML。这里是我所拥有的XML结构的一个片段

XPath是/rrr/aaa/bbb。我需要bbb中所有重复时间的值。我使用*/rrr/aaa/bbb作为Xpath,使用下面的代码来访问我想要的数据。但是,我需要仅在父标记下显示的数据。在下重复相同的标记

Range("A2").Value = "*/rrr/aaa/bbb"

Set nodeXML = xmlDoc.getElementsByTagName(Range("A2").Value)

For i = 0 To nodeXML.Length - 1

    For Each chlnodes In nodeXML(i).ParentNode.ChildNodes
           Next chlnodes

    Range("B" & i + 1).Value = nodeXML(i).Text
Next
希望这更有意义

谢谢。

回答@Andersson

root1/rrr/aaa/bbb

到目前为止,您有什么发现?将nodeXML=xmlDoc.getElementsByTagName(范围(“A2”).Value)设置为i=0到nodeXML.Length-1,用于nodeXML(i)中的每个chlnodes。ParentNode.ChildNodes下一个chlnodes范围(“B”&i+1)。Value=nodeXML(i).Text接下来我有一些类似的东西。你能分享XML样本吗?还有当前和所需的输出。我在问题中做了一个编辑。你能看看它是否有用。我需要该标签下的数据,但只需要父标签的数据。不是这样,为什么你不能使用
root1/rrr/aaa/bbb
?@andersson-如果你想从这个标签中获得代表,请作为答案发布并在这里留下评论,这将被删除。