我正在将一个旧项目迁移到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被解释为纯文本。
提前致谢!
答案 0 :(得分:0)
5年后,现在我可以回答自己的问题了,因为这个问题已经坐了很长时间,并被标记为一个受欢迎的问题,所以我将正式回答。
反复试验最终导致了一种不太理想但实用的解决方案,形式为
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");
然后,也可以使用相同的方法来设置Element的innerHTML。
这也解决了一个未提及的WebKitBrowser.DocumentText问题,该问题仅反映原始HTML,而没有任何修改结果。