0
我想使用Webkit.net加载(X)HTML字符串,然后分析DOM以“压缩”它(删除空格,换行转换<input></input>
和<input />
到<input>
(基本上是XHTML到HTML的转换,允许文档类型)。如何将HTML字符串加载到Webkit.net中,以便可以访问其“DOM”
反正有做得到webkit.net?的“DOM树”如果没有,还有什么。在那里可以做到这一点的净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();
如果没有人提出更好的方法,我可能会使用HTML Agility Pack。 – 2010-10-05 20:20:31