1

我想.<br />.<p/>或其他标签替换。我想保持我的文本和其他标签不变。例如:

<div class="page">
     <div class="text">
          adsdfasdf<br/>sadasdsafg<br/>kkot.<br/>
          <div class="pagenumber">3</div>
     </div>
</div>
4

1 回答 1

2

要解决标题中的问题(找到它),请找到以点结尾的所有文本节点,获取第一个后续兄弟节点(如果查找下一个后续节点,我们还将返回类似 的节点<div>foobar.</div><br/>)并测试它是否是<br/>节点(在这种情况下,只测试名称,我不在这里检查空虚)。

//text()[ends-with(., '.')]/following-sibling::node()[1]/self::br

重命名节点 - 您在问题正文中要求的内容 - 如下所示:

rename node //text()[ends-with(., '.')]/following-sibling::node()[1]/self::br as 'p'

重命名当然需要 XQuery 更新。只有发现该节点也适用于任何 XQuery 1.0 甚至 XPath 2.0 处理器。

于 2013-05-18T08:36:27.703 回答