Laden...

Auszüge aus XML-Kommentaren erstellen

Erstellt von Beauty vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.543 Views
Beauty Themenstarter:in
79 Beiträge seit 2007
vor 12 Jahren
Auszüge aus XML-Kommentaren erstellen

Hallo,

meine Frage in Kurzform:

Kann man den Inhalt von XML-Kommentaren per Quellcode auslesen?
Beispiel:


/// <summary>Das sind Beispiele</summary>
public enum BeispielEnums
{
    /// <summary>Beschreibung zu Eintrag1</summary>
    Eintrag1
}

Und dann z.B. auf den Inhalt von BeispielEnums.Eintrag1 zugreifen.

Gibt es dafür eine spezielle Klasse in .NET oder als externes Projekt?
Leider fand ich nichts hilfreiches im Internet. Vielleicht fehlt mir auch das richtige Schlagwort?

Hintergrund:

In meinem Projekt habe ich sehr viel in den XML-Kommentaren dokumentiert. Daraus kann man auch prima eine Hilfe-Datei erstellen lassen (msbuild / Sandcastle help file builder).
Meine Software wird jetzt (ohne Quellcode) rausgegeben werden und zu Doku-Zwecken möchte ich die XML-Kommentare einiger Enums, Strings, etc. in eine Text-Datei ausgeben.
Zwar könnte ich die Inhalte auch per Hand aus dem Quellcode kopieren, aber wenn sich später die XML-Kommentare ändere, dann müßte ich auch gleich die Doku überarbeiten. Besser wäre, wenn dieser Teil der Doku dynamisch generiert werden kann.

Gelöschter Account
vor 12 Jahren

Beim Buildvorgang werden eben jene XML Kommentare in eine eigene XML Datei geschrieben. Das kannst du in den Buildoptionen festlegen. Diese Datei kannst du dann entsprechend parsen und deine Textdatei daraus automatisch generieren lassen.

Beauty Themenstarter:in
79 Beiträge seit 2007
vor 12 Jahren

Oh, mir ist gerade eine Idee gekommen:

Wenn man mit Visual Studio kompiliert, wird eine Datei mit allen XML-Kommentaren automatisch erstellt. ( <projektName>.XML )
Ich könnte also auch daraus meine Infos extrahieren.
Kennt jemand eine Klasse, die diese XML-Datei ausliest und die Daten bequem zur Verfügung stellt?
Dann müßte ich keinen eigenen XML-Parser schreiben.

Hinweis von herbivore vor 12 Jahren

Bitte immer erst selbst in der MSDN Doku nachschauen. Die entsprechenden Klassen sind leicht zu finden.

Gelöschter Account
vor 12 Jahren

Ich würde es mal mit der Klasse "XmlDocument" probieren oder aber mit Xml-Serialisierung arbeiten.

Beauty Themenstarter:in
79 Beiträge seit 2007
vor 12 Jahren

Ui, JAck30lena, Du bist ja ganz schön schnell (-:
Und auch Du, herbivore.
Stimmt, ich könnte auch auf MSDN suchen statt nur über Google.

Die XML-Parser-Klassen kenne ich.
Ich dachte nur, falls schon ein fertiger Parser für diese spezielle XML-Datei existiert, dann bräuchte ich das Rad nicht neu erfinden.

Gelöschter Account
vor 12 Jahren

Es gibt besagten Parser bestimmt schon. Musst einfach mal googeln oder auch mal auf www.codeproject.com schauen.

2.891 Beiträge seit 2004
vor 12 Jahren

Leider fand ich nichts hilfreiches im Internet.

Guck mal da: Jim Blackler · Obtaining inline XML C# documentation at runtime using .NET 2.0
Ansonsten zum selbermachen: Verarbeiten der XML-Datei (C# Programmierhandbuch)

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Beauty,

solltest du in XSLT firm sein dann wäre das wohl am einfachsten. XSLT erstellen und in der XML-Dokumentationsdatei oben den Bezug zur Transformation angeben und fertig 😉

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"