別のタグにまだ含まれていない「裸の」テキスト ノードの XPath セレクターの作成に問題があります。これを変換したい:
some naked text <p>some wrapped text</p> more naked text
これに:
<p>some naked text</p> <p>some wrapped text</p> <p>more naked text</p>
使用してみましたが、トップレベルのものだけでなく、すべてのdoc.xpath("//child::text()").wrap('<p></p>')
テキストノードを取得しているようです。