9

我有一个对象是< td >标签的子对象。类是ctext,相关数据在< b >tag.tag内

我使用以下方法选择了节点:

td.css(".ctext b")

它似乎工作。我得到类似的结果:

< b >Flying< br >< br >At the beginning of each combat, choose first strike, vigilance, or lifelink. Creatures you control gain that ability until end of turn.< /b >

如果我使用:

td.css(".ctext b").text

将其转换为字符串,我得到:

FlyingAt the beginning of each combat, choose first strike, vigilance, or lifelink. Creatures you control gain that ability until end of turn.

我需要的是能够将td.css(".ctext b")我认为是 Nokogiri xml 节点的 转换为字符串而不剥离 HTML 标签。我需要保留< br >s。

4

2 回答 2

8

你想要.inner_html而不是.text.

于 2013-04-09T02:33:49.920 回答
7

Nokogiri::XML::Node上的to_s方法应该返回完整的 HTML 或 XML 表示,包括标签:

to_s()
把这个节点变成一个字符串。如果文档是 HTML,则此方法返回 html。如果文档是 XML,则此方法返回 XML。

所以我会试试这个:

td.css(".ctext b").to_s
于 2013-04-09T02:32:26.680 回答