如何忽略XML或HTML中未关闭的标签?

时间:2016-01-03 13:26:44

标签: html xml haskell html-parsing xml-conduit

我正在使用Text.XML和Text.XML.Cursor包在Haskell中为该站点编写解析器。

有未公开的标签并收到错误:

  

Main.hs:解析XML文件dat.html时出错:29:1-29:8:预期结束   element for:Name {nameLocalName =" br",nameNamespace = Nothing,   namePrefix = Nothing},但收到:EventEndElement(Name   {nameLocalName =" body",nameNamespace = Nothing,namePrefix =   没什么})

怎么办?如何忽略这些标签?

1 个答案:

答案 0 :(得分:1)

具有未关闭标记的文本对象不是well-formed 因此不是XML。

因此,忘记使用任何XML库,解析器或工具。根据定义和设计,它们无法帮助您。

您有两种选择。或者,

  1. 通过关闭未闭合来修复文本对象的格式 标签。您可以手动执行此操作,也可以尝试使用TIDY
  2. 定义允许未关闭标签的新数据格式,然后编写 从头开始解析它。