【发布时间】:2013-03-28 12:04:46
【问题描述】:
我正在尝试使用 C# 遍历 WebBrowser 控件的 DOM,并对每个 HtmlElement 执行一些处理。 (我同时对 DOM 进行了一些转换,但对于本次讨论,假设我试图通过递归遍历每个节点来展平 DOM)
当我遇到类似的事情时:
<p>Text with a <a href="http://www.example.com/">link</a> in the middle of it </p>
我找到了 P 标记的 HtmlElement(其中包含预期的 InnerText)和与标记 A 对应的子 HtmlElement 节点。A 标记的 HtmlElement 包含预期的内部文本。
但是我找不到任何与 A 标签前后的文本相关的结构或属性。
除了将 P 标记的 InnerHtml 属性与 A 标记的 OuterHtml 属性进行比较的可怕技巧之外,还有其他方法可以找到 A 标记的文本之前和之后的文本吗?
或者还有其他方法可以遍历 IE DOM?
【问题讨论】:
-
我可以清楚地对 InnerHtml 进行正则表达式 - 但这对于大型 DOM 可能效率低下。
标签: c# dom webbrowser-control