【发布时间】:2011-03-16 03:31:34
【问题描述】:
我需要从 XHTML 文档中获取纯文本。
我确定我已经在这里读到过,WP7 上的 XDocument 不支持 DTD。我找不到它。好吧,当我尝试使用 XDocument 解析带有 DTD 的 XHTML 时,它会抛出 NotSuportedException。 stacktrace 中的最后一次调用是在System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()。
即使我尝试使用一些虚拟的 XmlResolver,这也是完全相同的——它并没有真正被调用。 (在this question 中回答)。
所以我认为 WP7真的 不支持它。
好吧,我需要解析 XHTML 文档。到目前为止,我想出了两个(或多或少真实的)解决方案:
如果我删除该 DTD 声明,我可以这样做。但是,XHTML 中可能存在一些 字符实体,如果该 字符实体 不是 预定义的 XML 实体 之一,则会引发异常.
因此该解决方案仅适用于某些 XHTML。
我想过使用正则表达式。删除所有 html 标签非常容易,但“实体问题”仍然存在,因为我认为替换所有实体并不是真正/好的解决方案。
有人遇到/解决了这个问题吗?如果我在某些事情上错了,你能给我一些建议或纠正我吗? 谢谢。
【问题讨论】:
标签: xhtml windows-phone-7 dtd linq-to-xml