Как я могу загрузить строку HTML в Webkit.net, чтобы я мог получить доступ к ее "DOM" - PullRequest
0 голосов
/ 05 октября 2010

Я хотел бы использовать Webkit.net для загрузки (X) HTML-строки, а затем проанализировать DOM, чтобы «сжать» ее (удалить пробелы, символы новой строки, преобразовать <input></input> и *От 1004 * до <input> (в основном это преобразование XHTML в HTML, допускается использование doctype).

Есть ли способ получить "дерево DOM" в webkit.net? Если нет, есть ли парсеры .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();

1 Ответ

2 голосов
/ 06 октября 2010

Я не использовал Webkit.Net, но я использовал HTMLAgilityPack, чтобы выполнить задачу, аналогичную той, которую вы имеете в виду, и она работает очень хорошо.Поэтому я думаю, что вы ответили на свой вопрос.

...