1

その正規化メソッドは空の文字列で返されますが、nokogiri を使用して xml の一部の正規化されたバージョンを取得したかったのです。

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

誰かが私が間違っていることを知っていますか? Nokogiri 1.6.7を使用しています

4

1 に答える 1

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>"
于 2016-08-22T15:35:54.333 に答える