我使用NSXMLParser
来解析xml文件和RSS提要。我感到困惑的是,NSXMLParser
是仅适用于xml还是我们可以使用它来解析html。从互联网上的一点点搜索,我假设有些人用它来解析HTML。
但是使用NSXMLParser
和html有什么限制或缺点吗?
答案 0 :(得分: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>
在上面的文档中,内容类型不是引号(<META http-equiv=content-type …
),<H1>
和</h1>
是不同的情况,<P>
没有结束标记,并且strong
和em
未正确嵌套。这是有效的HTML但无效的XML。