如何使ruby Nokogiri节点集的内部html不被替换?

如何使ruby Nokogiri节点集的内部html不被替换?,ruby,nokogiri,Ruby,Nokogiri,我想从Nokogiri节点集获取无场景的内部html。有人知道怎么做吗?有什么不合适的吗 nodeset.inner_html 旧版本的libxml2可能会导致Nokogiri返回一些转义字符。我最近遇到了这个问题。gem在这里帮了我很大的忙。在CDATA中包装您的节点: def wrap\u in\u cdata(节点) #使用Nokogiri::XML::Node#content而不是#internal#html #转义HTML实体),使嵌套节点无法工作 node.inner\u html

我想从Nokogiri节点集获取无场景的内部html。有人知道怎么做吗?

有什么不合适的吗

nodeset.inner_html

旧版本的libxml2可能会导致Nokogiri返回一些转义字符。我最近遇到了这个问题。

gem在这里帮了我很大的忙。

在CDATA中包装您的节点:

def wrap\u in\u cdata(节点)
#使用Nokogiri::XML::Node#content而不是#internal#html
#转义HTML实体),使嵌套节点无法工作
node.inner\u html=node.document.create\u cdata(node.content)
节点
结束
Nokogiri::XML::Node#internal_html
转义除CDATA部分之外的html实体

fragment=Nokogiri::HTML.fragment“这是一个未缩放的字符串:左转>右转>直走&到达目的地。”
将fragment.inner_放入html
#这是一个未被切换的字符串:左向右直&;到达目的地。
fragment.xpath(“.//span”).each{| node | node.inner_html=node.document.create_cdata(node.content)}
fragment.inner_html
#这是一个未切换的字符串:左转>右转>直行并到达目的地。\n