我有以下代码段:
<span>
<
<span class="start-tag">meta</span>
<span class="attribute-name">name</span>
="
<a class="attribute-value">Creator</a>
"
<span class="attribute-name">content</span>
="
<a class="attribute-value">John Doe</a>
"
<span>/</span>
>
</span>
在找到文本中包含“创建者”的“属性值”节点后,我尝试使用XSLT选择“属性值”节点的值。有什么想法可以做到吗?最终,我想要类似的东西
<content name="Creator">John Doe</content>
答案 0 :(得分:0)
是的,您可能正在寻找这样的Xpath:
<span class="ml-1" data-bind="text:object.property1">10</span>
a[@class='attribute-value' and .='Creator']/following-sibling::a[@class='attribute-value'][1]
在选择“创建者” a[@class='attribute-value' and .='Creator']
节点的地方。
然后a
将选择其以下与following-sibling::a[@class='attribute-value'][1]
的兄弟姐妹,并仅保留第一个兄弟姐妹。
但是,正如注释中所述,您的示例不是有效的xml。普通的“ <”应转义(通常使用<)。您的预期结果应该更明确,这是您的整个输入文件吗?您想达到什么目的(您给出了预期的结果,但真正的需求可能不是唯一的节点)?
尽管如此,给定的XPath应该可以完成这项工作,并将根据您的示例选择预期的节点。但是由于您的问题缺少细节,因此请注意,根据输入的复杂性,使用的不同谓词可能需要一些改进。