2012-01-05 15 views
6

Próbowałem analizować HTML z HtmlAgilityPack w następujący sposób:Usuń spacje i znaki nowej linii podczas parsowania z HtmlAgilityPack

HtmlDocument htmlDoc = new HtmlDocument(); 
htmlDoc.LoadHtml(xhtmlString); 

Niestety xhtmlString zawiera niepotrzebne spacje i znaki nowej linii, więc _text z htmlDoc teraz wygląda tak :

<html xmlns=\"http://www.w3.org/1999/xhtml\">\n\t<head></head>\n\t<body>\n\n<p>Alle Auktionen<br /></p>\n\n\t</body>\n</html>

to jest problem dla mnie podczas pracy z elementów podrzędnych ciała.

Jaki jest najprostszy sposób na usunięcie tych niepotrzebnych znaków?

Czy HtmlAgilityPack oferuje jakąś funkcję do czyszczenia HTML z nowych linii i kart?

+0

Czy istnieje sposób można użyć string.replace aby rozwiązać ten problem? –

Odpowiedz

1

To jest wcięcie dokumentu, a nie niepotrzebne spacje i znaki nowej linii.
Nie mogę zobaczyć, jak to może być problem, ale nie możesz po prostu zastąpić specjalnych znaków, takich jak "\ t", "\ n"?

sposób szybki wyszukiwanie znalazłem ten Html Agility Pack: make code look neat
Może ustanawiającą pewne właściwości false mogą być pomocne

+0

Mogłem ręcznie zastąpić znaki specjalne, ale wolę wydobyć html (bez intencji itp.). Jeśli na przykład znaki nowej linii są zakodowane inaczej, ponieważ użytkownik wprowadzający kod HTML ma inny system operacyjny, mogę napotkać problemy. – magnattic

+0

. Prześlij (Environment.NewLine, text); Może pracować na platformach UNIX i innych niż UNIX, ale nie wiem o "\ t" –

+0

@matheusrufca - obawa atticae o nowe linie jest prawidłowa. Nie mówi o tym, że ma problem z uruchomieniem swojej platformy kodu, ale jego zmartwieniem jest manipulowanie html generowanym przez inną platformę. –

Powiązane problemy