我想通过使用 nokogiri 来获得一段 xml 的规范化版本,尽管它的规范化方法返回一个空字符串。
d= Nokogiri::XML::Document.new '<a><z></z><b c="d">e</b></a>'
d.canonicalize #=> ""
有人知道我在做什么错吗?我正在使用 Nokogiri 1.6.7
我想通过使用 nokogiri 来获得一段 xml 的规范化版本,尽管它的规范化方法返回一个空字符串。
d= Nokogiri::XML::Document.new '<a><z></z><b c="d">e</b></a>'
d.canonicalize #=> ""
有人知道我在做什么错吗?我正在使用 Nokogiri 1.6.7
Document::new
实际上并不解析文档。你基本上只是用一个相当奇怪的 XML 版本创建一个空文档:
d.to_xml
#=> "<?xml version='<a><z></z><b c=\"d\">e</b></a>'?>\n"
而是使用Document::parse
, 或模块XML()
上的方法Nokogiri
:
d = Nokogiri::XML::Document.parse '<a><z></z><b c="d">e</b></a>'
d.canonicalize #=> "<a><z></z><b c=\"d\">e</b></a>"