Bietet .NET Framework Methoden zum Parsen eines HTML-Strings?

8

Da ich weiß, dass ich HTMLAgilityPack, also nur .NET, nicht verwenden kann, sage ich, dass ich eine Zeichenfolge habe, die etwas HTML enthält, das ich auf diese Weise parsen und bearbeiten muss:

  • findet bestimmte Steuerelemente in der Hierarchie nach ID oder nach Tag
  • ändert (und erstellt idealerweise) Attribute dieser gefundenen Elemente

Gibt es Methoden in .net, um dies zu tun?

    
Jelly Ama 27.02.2012, 22:40
quelle

4 Antworten

5

HtmlDocument

GetElementById

HtmlElement

Sie können ein Dummy-HTML-Dokument erstellen.

%Vor%

Ausgabe:

2

file: /// c:

über: myUrl

Bearbeitungselemente:

%Vor%

Ausgabe:

file: /// d:

    
Onur 27.02.2012, 22:44
quelle
1

Wenn Sie mit gut formatiertem HTML arbeiten, können Sie den Text einfach als XML-Dokument behandeln. Das Framework ist mit Funktionen geladen, um genau das zu tun, was Sie fragen.

Ссылка

    
Doug 27.02.2012 22:47
quelle
1

Neben dem HTML Agility Pack und der Portierung von HtmlUnit auf C # hört sich Folgendes nach festen Lösungen an:

  • Am offensichtlichsten - verwenden Sie Regex. (System.Text.RegularExpressions)
  • Verwenden eines XML-Parsers. (Weil HTML ein System von Tags ist, behandeln Sie es wie ein XML-Dokument?)
  • Linq?

Eine Sache, die ich weiß, ist, dass das Parsen von HTML wie XML dazu führen kann, dass Sie ein paar Probleme haben. XML und HTML sind nicht identisch. Lesen Sie darüber: hier

Hier ist auch ein Beitrag über Linq vs Regex

    
Spencer 27.02.2012 23:07
quelle
0

Sie können sehen, wie HTML Agility Pack funktioniert, jedoch ist es .Net. Sie können die Assembly spiegeln und sehen, dass sie das MFC verwendet und reproduziert werden könnte, wenn Sie das möchten, aber Sie würden nichts weiter tun, als die Assembly zu verschieben und nicht mehr .Net zu erstellen.

    
John 27.02.2012 22:51
quelle

Tags und Links