2010-10-05 47 views
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(); 
+0

如果沒有人提出更好的方法,我可能會使用HTML Agility Pack。 – 2010-10-05 20:20:31

回答

2

沒有使用Webkit.Net,但我已經使用HTMLAgilityPack做類似的任務,你心裏有一個和它工作得很好。所以我認爲你回答了你自己的問題。

相關問題