如何从 WebKit.Net 中的元素获取 HTML

4
我正在将一个旧项目迁移到WebKit.NET 0.5 Cairo。大多数障碍我都已经克服了,但是我无法弄清如何获取单个WebKit.DOM.Element对象的HTML。
我可以使用WebKitBrowser.DocumentText读取整个文档的HTML,但这不是我需要的。
以下基本上是我要完成的内容。我浏览了文档并进行了大量搜索,在所有方面都没有找到解决方案。我没有找到在片段中完成最后一行的方法。
WebKit.DOM.Element newdiv = webKitBrowser1.Document.CreateElement("DIV");
...
[ Create some SPAN's and append them to newdiv ]
...
String divHTML = newdiv.DocumentText // <-- DocumentText is not a member of WebKit.DOM.Element

使用IE控件,我可以做divHTML = newdiv.InnerHTML,但是在WebKit.NET中找不到相应的等效方法。
作为替代方案,我将接受一种解决方案,该方案可以将HTML注入到元素中,以便我可以手动添加IMG标记,而无需专门为其创建DOM元素。使用divHTML.TextContent,HTML会被解释为纯文本。
提前感谢!
1个回答

1
五年后,现在我可以回答自己的问题,正式回答这个问题,因为它已经存在很长时间,并被标记为一个流行的问题。
试错法终于导致了一个不太理想但是功能性的解决方案,以...的形式呈现。
WebKit.DOM.Element newdiv = webKitBrowser1.Document.CreateElement("DIV");
...
[ Create some SPAN's and append them to newdiv ]
...
String divHTML = webKitBrowser1.StringByEvaluatingJavaScriptFromString("document.getElementById('DivElementID').innerHTML");

同样的方法也可以用来设置元素的innerHTML。

这也解决了WebKitBrowser.DocumentText只反映原始HTML而不是任何修改结果的未提及问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接