我有一个奇怪的一次性,我需要对xpath进行处理,我什至不知道是否可能。到目前为止,我还没有找到办法。
<things>
<stuff>here are some things <yep>blue</yep> and here are some more things</stuff>
</things>
基本上,我希望能够获取“材料”及其所有子级的文本,就像它们也是文本一样。例如,我想得到这个:
here are some things <yep>blue</yep> and here are some more things
最佳答案
您可以使用以下XPath-2.0表达式实现此目的:
for $p in /things/stuff/node() return if ($p instance of element()) then concat('<',$p/name(),'>',$p,'</',$p/name(),'>') else $p
但这不是递归解决方案,因此它仅适用于元素的第一级。
关于xpath - 是否可以获取节点名称为文本的子节点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57277400/