C# 如何将HTML字符串加载到Webkit.net中,以便访问其;DOM";

C# 如何将HTML字符串加载到Webkit.net中,以便访问其;DOM";,c#,.net,html-parsing,webkit.net,C#,.net,Html Parsing,Webkit.net,我想使用加载一个(X)HTML字符串,然后分析DOM以“压缩”它(删除空格、换行符、将和转换为(基本上是XHTML到HTML的转换,允许doctype) 在webkit.net中是否还有其他方法可以获取“DOM树”?如果没有,是否有任何.net HTML解析器可以这样做?如果没有,是否有一个.net组件已经完成了我的要求 一些伪代码解释了我想做什么: var DOM = Webkit.DOM.FromString("<!DOCTYPE HTML><html><hea

我想使用加载一个(X)HTML字符串,然后分析DOM以“压缩”它(删除空格、换行符、将
转换为
(基本上是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();
var-DOM=Webkit.DOM.FromString(“Hello
一个元素!/*do-stuff*/*do-more-stuff*/”; var sb=新的StringBuilder(); //这将在真实场景中递归地迭代所有子节点。 foreach(DOM.Nodes中的var节点){ sb.追加(/*压缩和排序属性,规范化和去除不需要的引号,删除不需要的结束和自动结束标记等*/); } //返回最佳压缩输出。。。 //比如: //你好
一个元素!/*做事*/*多做事*/ 使某人返回字符串();
我没有使用Webkit.Net,但我使用了HTMLAgilityPack来完成类似的任务,这与您心目中的任务类似,而且效果非常好。因此,我认为您回答了自己的问题。

如果没有人想出更好的方法,我可能会使用HTML Agility Pack。