Nokogiri :: XML :: document canonicalize方法返回空字符串

时间:2016-08-22 14:17:42

标签: ruby xml nokogiri canonicalization c14n

我想通过使用nokogiri来获取一段xml的规范化版本,尽管它的canonicalize方法是返回一个空字符串。

d= Nokogiri::XML::Document.new '<a><z></z><b c="d">e</b></a>'
d.canonicalize #=> ""

有人知道我做错了什么吗?我正在使用Nokogiri 1.6.7

1 个答案:

答案 0 :(得分:1)

Document::new实际上并不解析文档。您基本上只是使用相当奇怪的XML版本创建一个空文档:

d.to_xml
#=> "<?xml version='<a><z></z><b c=\"d\">e</b></a>'?>\n"

而是使用Document::parseXML() method on the Nokogiri module

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>"