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