jum*_*mbo 2 xhtml dtd linq-to-xml windows-phone-7
我需要从XHTML文档中获取纯文本.
我相信我已经在这里读过,WP7上的XDocument不支持DTD.我找不到它.好吧,当我尝试使用XDocument使用DTD解析XHTML时,它会抛出NotSuportedException.stacktrace中的最后一次调用是在System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
.
即使我尝试使用一些虚拟的XmlResolver,它也完全相同 - 它并没有真正被调用.(以下是这个问题的答案).
所以我认为WP7 真的不支持它.
好吧,我需要解析XHTML文档.到目前为止,我想出了两个(或多或少真实的)解决方案:
如果我删除了DTD声明,我可以这样做.但是,XHTML中可能存在一些字符实体,如果该字符实体不是预定义的XML实体之一,则抛出异常.
因此该解决方案仅适用于某些XHTML.
我想过用Regex.删除所有html标签非常容易,但"实体问题"仍然存在,因为我不认为替换所有实体是真实/好的解决方案.
有人面对/解决了这个问题 如果我错了什么,你能给我一些建议或纠正我吗?谢谢.
HTML Agility包是一个用于解析html文档的库,正如在论坛上声称的那样,它有一个WP7版本
http://htmlagilitypack.codeplex.com/discussions/225113