Announcement

Collapse
No announcement yet.

CSS Styles in einem HtmlDocument programmatisch abrufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CSS Styles in einem HtmlDocument programmatisch abrufen

    Hallo Gemeinde!
    Hat jemand ein Rezept, wie ich aus einem HTML-Dokument (Instanz der Klasse HtmlDocument) alle CSS-Stile extrahieren kann (mit C#)? Oder eine Idee, in welcher Richtung es gehen kann.
    Ich habe angefangen, mit IHTMLDocument und verwandten Objekten herum zu probieren, bin aber nicht weit gekommen (zudem ist dieses Thema anscheinend generell karg dokumentiert zu sein).
    Im VS selbst, wenn ich eine HTML-Seite ediere, weiß der Editor, zu welchem Stil die aktuelle Selektion gehört. Kann jemand einen Tipp geben, wie das gemacht wird?

    Vielen Dank im voraus für jede Idee -
    Alex
    Zuletzt editiert von Alex.Konnen; 03.07.2011, 19:15.

  • #2
    Das hast Dir aber nicht ernsthaft angeschaut oder? Eine HtmlDocument Klasse hat z.B. eine Body Property. Diese hat wiederum eine Children Property in der sich alle untergeordneten Elemente befinden. Jedes untergeordnete Element ist ein HtmlElement und dieses hat wiederum eine Style Property die kommasepariert alle CSS Styles enthält welche diesem HtmlElement zugeordnet sind.

    -> Rekursive durchlaufen und in einer HashSet<String> merken -> fertig

    Comment


    • #3
      hallo, nur mal so als Zusatzfrage... kann ich über den beschriebenen Weg alle im Code gesetzten css-Klassen herausfinden und anschließend prüfen ob in der CSS-Datei auch die entsprechenden Definitionen angelegt sind?

      Comment


      • #4
        Ich weiss nicht ob das nötig ist. CSS Klassen werden doch z.B. auch für JQuery verwendet um Elemente zu gruppieren. Es muss also nicht zwangsläufig ein Style in einer CSS Datei dafür vorhanden sein.
        Aber wenn Du alle Styles herausfinden kannst, müsstest Du theoretisch noch einen Weg finden die CSS Dateien zu zu prüfen. Kann ja auch net sooo schwer sein

        Comment


        • #5
          hallo,
          ja Teil 2 ist klar.
          Mir geht es nur darum eine Möglichkeit zu haben css-Styles die durch welchen Grund auch immer aus der css-Datei gelöscht wurden, durch einen Hinweis in der Software wieder setzen zu können und das Aussehen zu beeinflussen.

          Nach dem Motto wenn der Admin nicht weiss welche css-Klassen es gibt, kann er sie auch nicht setzen

          Comment


          • #6
            Kann man doch relativ einfach aus einer CSS Datei parsen. Und dann matcht Du die mit denen die in der Seite vorkommen. Dann siehst Du welche CSS Styles aus der Seite nicht in einem CSS File definiert sind.

            Comment

            Working...
            X