Nokogiri可以保留属性引用风格吗?

这是我的文件的内容(注意嵌套引号):

  

在Ruby我有:

 file = File.read(settings.test_file) @xml = Nokogiri::XML( file) puts "@xml " + @xml.to_s 

这是输出:

  

有没有办法转换它,所以输出将完全保留报价? 即在外面单身,在里面加倍?

不,它不能。 Nokogiri::XML::Attr (以及libxml2中的基础数据结构)中没有存储有关用于分隔属性的引用类型(或应该是什么类型)的信息。 因此,所有序列化(由libxml2完成)使用相同的属性引用样式。

实际上,这些信息甚至没有在XML信息集中正确保留,如规范所述 :

附录D:信息集中没有的内容

当前版本的XML信息集中未显示以下信息(此列表并非详尽无遗):

[…]

17)用于引用属性值的引号(单引号或双引号)。

好消息是两种XML序列化样式描述的内容完全相同。 坏消息是,除非你使用的是Canonical XML序列化 (Nokogiri最近才能生产出来的),有很多种方法可以表示同样的文件看起来像许多虚假的“变化”到标准的文本差异工具。

也许如果你能描述为什么你想要这个function(你想要完成的最终目标是什么?)我们可以帮助你进一步。

您可能也对这个类似的问题感兴趣。