使用xmllint和xpath与不完美的HTML文档?

前端之家收集整理的这篇文章主要介绍了使用xmllint和xpath与不完美的HTML文档?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个由现有工具生成HTML页面 – 我无法更改此工具的输出.

但是,我想使用xmllint和–xpath选项从下载的网页中选择一些特定的信息.问题是该页面以:

< html lang = en>< head> …

并且xmllint几乎立即抛出错误

html.out:2: parser error : AttValue: " or ' expected
<html lang=en><head>
           ^

这个问题肯定似乎是围绕lang属性值的缺失的引号.整个页面都充满了这类问题. (虽然只是零星的.)

几乎每个浏览器都可以解析这个问题 – 我怎么能说服xmllint呢?我想避免必须注入一个中间步骤来“修复”该文件.相反,我想要:

1)找到一个标志,验证选项等,以帮助解析器,或:

2)使用其他一些工具. (但是什么?xmllint总是我的命令行XPath命令.)

此外,仅使用xpath会导致:

> xpath html.out '//myquery...'

not well-formed (invalid token) at line 2,column 11,...

解决方法

您可以使用–html命令行选项在xmllint中启用HTML解析器.这样,您就可以处理HTML文档.

猜你在找的HTML相关文章