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.
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.
Bitte immer erst selbst in der MSDN Doku nachschauen. Die entsprechenden Klassen sind leicht zu finden.
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.
Es gibt besagten Parser bestimmt schon. Musst einfach mal googeln oder auch mal auf www.codeproject.com schauen.
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)
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!"