如何忽略 XML 或 HTML 中未关闭的标签?
How to ignore unclosed tags in XML or HTML?
我正在 Haskell 中使用包 Text.XML 和 Text.XML.Cursor.
为站点编写解析器
有未关闭的标签并报错:
Main.hs: Error parsing XML file dat.html: 29:1-29:8: Expected end
element for: Name {nameLocalName = "br", nameNamespace = Nothing,
namePrefix = Nothing}, but received: EventEndElement (Name
{nameLocalName = "body", nameNamespace = Nothing, namePrefix =
Nothing})
怎么办?如何忽略此类标签?
带有未闭合标签的文本对象不是 well-formed,因此 不是 XML。
因此,忘记使用任何 XML 库、解析器或工具。根据定义和设计,它们无法帮助您。
你有两个选择。或者,
- 将未关闭的文本对象修复为well-formed
标签。您可以手动执行此操作或尝试使用 TIDY 或
- 定义一种允许未闭合标签的新数据格式,并写一个
从头开始解析它。
我正在 Haskell 中使用包 Text.XML 和 Text.XML.Cursor.
为站点编写解析器有未关闭的标签并报错:
Main.hs: Error parsing XML file dat.html: 29:1-29:8: Expected end element for: Name {nameLocalName = "br", nameNamespace = Nothing, namePrefix = Nothing}, but received: EventEndElement (Name {nameLocalName = "body", nameNamespace = Nothing, namePrefix = Nothing})
怎么办?如何忽略此类标签?
带有未闭合标签的文本对象不是 well-formed,因此 不是 XML。
因此,忘记使用任何 XML 库、解析器或工具。根据定义和设计,它们无法帮助您。
你有两个选择。或者,
- 将未关闭的文本对象修复为well-formed 标签。您可以手动执行此操作或尝试使用 TIDY 或
- 定义一种允许未闭合标签的新数据格式,并写一个 从头开始解析它。