[英]Repair Invalid HTML and XML
我有一个文档,其中包含无效的HTML和XML。 我需要以某种方式解析它,以便每当遇到无效的HTML或XML时都应该对其进行修复,而不是将其视为普通字符串。 直到现在我已经尝试过这种技术
Nokogiri::HTML(document)
Nokogiri::XML(document)
两者不一起工作。
我也引用了此链接,但并没有太大帮助。 此外,我还想过使用regex替换无效的HTML和XML的黑客,但我的数据太大,因此无法应用该黑客
我打电话给Nokogiri :: HTML(document),所以它很好地处理了html。 但是问题是它跳过了我不想要的Xml标签。 我需要这些标签才能在浏览器上打印
一些标签,例如
</SESSION_CONFIG VERSION=“bgh:3”
<METHODS BASEURL=http://abc.hgd.com /servlet/IAMSERVER/>
<ADD_USER URL=“addUser/>
虽然我知道某些标签不合法,但仍需要在浏览器上打印
您需要配置norecover
以便Nokogiri不会尝试解决问题:
badly_formed = <<-EOXML
</SESSION_CONFIG VERSION=“bgh:3”
<METHODS BASEURL=http://abc.hgd.com /servlet/IAMSERVER/>
<ADD_USER URL=“addUser/>
EOXML
bad_doc = Nokogiri::HTML(badly_formed) { |config| config.norecover }
puts bad_doc
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>VERSION=“bgh:3”
<methods baseurl="http://abc.hgd.com"></methods>
<add_user url="“addUser/">
</add_user></p></body></html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.