繁体   English   中英

如何将HTML字符串加载到Webkit.net中,以便可以访问其“ DOM”

[英]How can I load an HTML string into Webkit.net so I can access its “DOM”

我想使用Webkit.net加载(X)HTML字符串,然后分析DOM以“压缩”它(删除空格,换行符,将<input></input><input /><input> (基本上是XHTML到HTML的转换,允许使用doctype)。

无论如何,要在webkit.net中获取“ DOM树”吗? 如果不是,是否有任何.net HTML解析器可以做到这一点? 如果没有,是否存在已经按照我的要求执行的.net组件?

一些伪代码解释了我想做什么:

var DOM = Webkit.DOM.FromString("<!DOCTYPE HTML><html><head><title> Hello</title></head><body><INPUT Value="Click here"  type="submit" /><br /><span class='bold red'>An element!</span><script type='text-javascript'>/*do stuff*/</script>  <script>/*do more stuff*/</script></body></html>");

var sb = new StringBuilder();

// this would recursively iterate over all childnodes in a real scenario.
foreach(var node in DOM.Nodes){
    sb.Append(/* Compress & sort attributes, normalize & strip unneeded quotes, remove unneeded end & self-closing tags, etc. */);
}

// return optimally compressed output...
// something like:
// <!doctype html><title>Hello</title><input type=submit value="Click here"><br><span class="bold red">An element!</span><script>/*do stuff*/</script><script>/*do more stuff*/</script>
return sb.ToString();

没有使用过Webkit.Net,但是我使用了HTMLAgilityPack来完成与您所想的相似的任务,并且效果很好。 所以我认为您回答了自己的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM