NSXMLParser能用来解析HTML吗?

3

可能是重复问题:
使用NSXMLParser解析HTML

我已经使用NSXMLParser解析xml文件和RSS源。 我困惑的是NSXMLParser是否只用于xml,还是我们也可以用它来解析html。 从互联网上的一些搜索中,我假设有些人使用它来解析html。

但是,使用NSXMLParser解析html有什么限制或缺点吗?


(X)HTML是XML,所以没问题。 - James Webster
1个回答

4
如果您的HTML文档是良好格式化的xhtml,则它将起作用。猜测一下,您不会使用良好格式化的xhtml,因为在现实世界中很少见。
HTML(包括HTML 4和5)不是良好格式化的XML,因此无法成功地由XML解析器解析。
请考虑以下示例:
<HTML>
<HEAD>
<META http-equiv=content-type content="text/html; charset=UTF-8">
<TITLE>Sample Document</TITLE>
</HEAD>
<BODY>
<H1>Sample Document</h1>
<P>This document will <strong><em>fail</strong></em> as XML.
</BODY>
</HTML>

在上面的文档中,content-type没有用引号括起来(<META http-equiv=content-type …),<H1></h1>是不同的大小写形式,<P>没有结束标签,并且strongem没有正确嵌套。这是有效的HTML但无效的XML。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接