Вот что я хочу сделать:
Удалите узлы "span" с классом "none".
Удалите «лишние» узлы, но оставьте текст внутри них.
Удалите все узлы "br" и замените их узлами "p"
<p class="normal">
<span class="none">
<extra>Some text goes here</extra>
</span>
<span class="none">
<br/>
</span>
<span class="none">
<extra>Some other text goes here</extra>
<br/>
</span>
</p>
Это вывод, который я хотел бы получить:
<p class="normal">Some text goes here</p>
<p class="normal">Some other text goes here</p>
Я уже пробовал это:
doc.xpath('html/body/p/span').each do |span|
span.attribute_nodes.each do |a|
if a.value == "none"
span.children.each do |child|
span.parent << child
end
span.remove
end
end
end
Но это вывод, который я получаю, он даже не в правильном порядке:
<p class="normal"><br /><br />Some text goes hereSome other text goes here</p>