Nokogiri::XML::document канонический метод возвращает пустую строку
Я хотел получить канонизированную версию фрагмента xml с помощью noko giri, хотя его метод canonicalize возвращает пустую строку.
d= Nokogiri::XML::Document.new '<a><z></z><b c="d">e</b></a>'
d.canonicalize #=> ""
Кто-нибудь знает, что я делаю не так? Я использую Nokogiri 1.6.7
1 ответ
Решение
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>"