猿问

​在C#中解析html的最佳方法是什么?

在C#中解析html的最佳方法是什么?

我正在寻找一个库/方法来解析一个html文件,该文件具有比通用xml解析库更多的html特定功能。



慕桂英3389331
浏览 634回答 3
3回答

翻阅古今

Html敏捷包这是一个敏捷的HTML解析器,它构建一个读/写DOM并支持普通的XPATH或XSLT(你实际上不需要理解XPATH或XSLT来使用它,不用担心......)。它是一个.NET代码库,允许您解析“out of the web”HTML文件。解析器非常容忍“真实世界”格式错误的HTML。对象模型与提出System.Xml非常相似,但对于HTML文档(或流)。

慕虎7371278

你可以做很多事情,而不必坚持第三方产品和mshtml(即互操作)。使用System.Windows.Forms.WebBrowser。从那里,您可以在HtmlDocument上执行“GetElementById”或在HtmlElements上执行“GetElementsByTagName”。如果你想与浏览器实际交互(例如模拟按钮点击),你可以使用一点反射(imo比Interop更小的邪恶)来做到这一点:var wb = new WebBrowser()...告诉浏览器导航(与此问题相关)。然后在Document_Completed事件上,您可以模拟这样的点击。var doc = wb.Browser.Documentvar elem = doc.GetElementById(elementId);object obj = elem.DomElement;System.Reflection.MethodInfo mi = obj.GetType().GetMethod("click");mi.Invoke(obj, new object[0]);你可以做类似的反思,提交表格等。请享用。
随时随地看视频慕课网APP
我要回答