回车替换到 通过引入nokogiri
问题描述:
回车(在Windows新的生产线使用)被引入nokogiri回车替换到 通过引入nokogiri
xml = Nokogiri::XML "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>ABC</a>\n"
xml.xpath('a').first.content = "testing\r\nnewlines"
> "testing\r\nnewlines"
xml.to_s
> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>testing \nnewlines</a>\n"
1)为什么要引入nokogiri这是否更换,以
?
2)有没有办法避免这样做?
答
这是因为libxml2上的一个错误,它错误地转义\r
时不应该这样做,因为它是有效的XML值。这里
https://github.com/sparklemotion/nokogiri/issues/1356
唯一的解决方案,我现在可以看到
更多信息,做
.gsub(" ", "\r")
答
编码可能是问题。它将\ r转换为其HTML代码。
尝试设置编码以这些格式之一
DOC = Nokogiri.XML( '',零, 'EUC-JP')
DOC = Nokogiri.XML( '',零, '窗口1252')
DOC = Nokogiri.XML( '',零, 'ISO-8859-1')
参见:http://www.nokogiri.org/tutorials/parsing_an_html_xml_document.html