2016-08-22 8 views
1

nokogiriを使用して標準化されたxmlのバージョンを取得したいのですが、正規化メソッドは空の文字列を返します。Nokogiri :: XML :: document canonicalizeメソッドは空の文字列を返します

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

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

+1

私はこの質問を閉じたやり方に反対します。ライブラリは適切なエラーを出さず、元のタイプミスが上記の問題の原因ではありませんでした。提供された回答マットは役立ちます。この質問を閉じることは、虐待の緩和でした。 –

答えて

1

Document::newは実際に文書を解析しません。あなただけの奇妙XMLバージョンで空のドキュメントを作成する基本的には、次のとおりです。

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

代わりDocument::parse、またはXML() 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>" 
関連する問題