我正试图在我的rails项目中使用Nokogiri从第三方读取XML文件。
我解析的其中一个节点包含一个带未转义的&符号的URL(如foo.com/index.html?page=1&query=bar
)
我知道这被认为是格式错误的XML,Nokogiri只是试图解析它,导致foo.com/index.html?page=1=bar
。
如何获取完整的网址?我可以调整Nokogiri吗?你会进行搜索和替换 - 预运行或最佳实践吗?
答案 0 :(得分:2)
使用包含&符号的图像链接解析SVG时遇到同样的问题。
将HTML解析为HTML似乎正确处理链接,转义&。
fixed_svg = Nokogiri::HTML.fragment(raw_svg).to_html
# proceed with XML parsing
svg = Nokogiri::XML(fixed_svg)