Xpath 如何计算XElement的所有标记?
这是一个Xpath 如何计算XElement的所有标记?,xpath,Xpath,这是一个XElement:Dim oTaget=: <target xmlns="urn:oasis:names:tc:xliff:document:1.2"> <mrk mtype="seg" mid="1082">■ <x id="8746" /><g id="8747">Store the product ./g></mrk> <g id="8747"> <mrk mtype="seg" m
XElement
:Dim oTaget=
:
<target xmlns="urn:oasis:names:tc:xliff:document:1.2">
<mrk mtype="seg" mid="1082">■ <x id="8746" /><g id="8747">Store the product ./g></mrk>
<g id="8747">
<mrk mtype="seg" mid="1083">For this purpose</mrk>
</g>
</target>
但结果=1
如何计算oTaget的所有标签mrk
?
谢谢大家。由于设置为select元素的
XPath
,您的结果计数是一个,它只统计mrk
元素,这些元素位于目标的第一个子级别。您必须递归地遍历target
的所有子元素
编辑:
VB.NET中的递归示例请参见此处:由于设置为select元素的XPath
,您的结果计数为1,它仅统计mrk
元素,这些元素位于目标的第一个子级别。您必须递归地遍历target
的所有子元素
编辑:
VB.NET中的递归示例请参见此处:使用//element
模式返回上下文元素中的所有元素:
sentenchild = oTaget.XPathSelectElements(".//" + dNS + ":mrk", namespaceManager)
引自:
//para
选择上下文节点的para
元素后代
另一种方法是使用方法:
使用//element
模式返回上下文元素中的所有元素:
sentenchild = oTaget.XPathSelectElements(".//" + dNS + ":mrk", namespaceManager)
引自:
//para
选择上下文节点的para
元素后代
另一种方法是使用方法:
我们不能选择多级吗?不,不可能。使用XElement.Elements(XName)
选择每个子级别中的匹配元素()我们不能选择多级吗?不,这是不可能的。使用XElement.Elements(XName)
在每个子级别()中选择匹配的元素
Dim dNS As XNamespace = "urn:oasis:names:tc:xliff:document:1.2"
sentenchild = oTaget.Descendants(dNS + "mrk")