我正在编写一些小应用程序来解析一些网页的源代码、提取一些数据并将其保存为另一种格式。具体来说,我的一些银行不提供交易/报表的下载,但他们在其网站上提供对这些报表的访问。
我做的很好,但另一个(HSBC UK)被证明是一个麻烦,因为它的源不是有效的 XHTML。例如 <?xml?>
之前有空格标签,还有一些地方 ==
使用而不是 =
在属性名称和它的值之间(例如 <li class=="lastItem">
)。
当然,当我将此数据传递到我的 XmlDocument
时,它会抛出一个不稳定的(更准确地说是一个异常)。
我的问题是:是否可以放宽 C# 中对 XML 解析的要求?我知道从源头上解决这些问题要好得多 - 这绝对也是我的态度 - 但汇丰银行改变他们的网站的可能性几乎为零,该网站已经在大多数浏览器中运行,只是为了我这个小老头。
最佳答案
看看 HTML agility pack .它允许您通过 XPath 提取不符合 XHTML 的网页的元素,就好像它是一个格式良好的 XHTML 文档一样。
看在 Kleene 的份上,不要尝试用任何复杂的方式对 HTML 页面进行正则表达式!
关于c# - 解析 XML/XHTML 文档但忽略 C# 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/634693/