似乎所有实体都被杀死了
tags = "<p>test umlauts ö</p>"
Nokogiri::XML.fragment(tags)
结果:
<p>test umlauts </p>
上面的方法调用Nokogiri::XML::DocumentFragment.parse(tags)
和那个方法调用
Nokogiri::XML::DocumentFragment.new(XML::Document.new, tags)
。
关于 nokogiri 文档,此代码将被执行:
def initialize document, tags=nil
if tags
parser = if self.kind_of?(Nokogiri::HTML::DocumentFragment)
HTML::SAX::Parser.new(FragmentHandler.new(self, tags))
else
XML::SAX::Parser.new(FragmentHandler.new(self, tags))
end
parser.parse(tags)
end
end
我认为我们正在处理 XML::SAX::Parser 和相应的 FragmentHandler。挖掘代码没有给出任何提示;我必须设置哪些参数才能获得正确的结果?