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 Update が必要です。そのノードを見つけるだけで、任意の XQuery 1.0 および XPath 2.0 プロセッサでも機能します。

于 2013-05-18T08:36:27.703 に答える