如何使用Nokogiri :: XML :: Builder将未转义的&符号添加到HTML

如何使用Nokogiri :: XML :: Builder将未转义的&符号添加到HTML,第1张

概述我想使用Nokogiri中的XML Builder向HTML添加项目符号点“•”之类的东西,但是所有内容都被转义了.如何防止它逃脱?我希望结果是:<span>&#8226;</span> 而不是:<span>&amp;#8226;</span> 我只是在这样做:xml.span { x

我想使用Nokogiri中的XML Builder向HTML添加项目符号点“•”之类的东西,但是所有内容都被转义了.如何防止它逃脱?

我希望结果是:

<span>&#8226;</span> 

而不是:

<span>&amp;#8226;</span> 

我只是在这样做:

xml.span {   xml.text "&#8226;\ " }

我想念什么?最佳答案如果您定义

  class Nokogiri::XML::Builder    def entity(code)      doc = Nokogiri::XML("<?xml version='1.0'?><root>&##{code};</root>")      insert(doc.root.children.first)    end  end

然后这个

  builder = Nokogiri::XML::Builder.new do |xml|    xml.span {      xml.text "I can has "      xml.entity 8665      xml.text " entity?"    }  end  puts builder.to_xml

产量

<?xml version="1.0"?><span>I can has &#x2022; entity?</span>

PS仅是一种解决方法,有关干净的解决方案,请参阅libxml2文档(Nokogiri基于libxml2构建)以获取更多帮助.但是,即使是这些人admit that handling entities can be quite ..err,cumbersome sometimes. 总结

以上是内存溢出为你收集整理的如何使用Nokogiri :: XML :: Builder将未转义的&符号添加到HTML 全部内容,希望文章能够帮你解决如何使用Nokogiri :: XML :: Builder将未转义的&符号添加到HTML 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存