C# Text zwischen Tags rausfischen


123user123

Mitglied
Hallo,

ich habe eine XML Datei mit folgendem Inhalt mehrfach wiederholt:

XML:
<Name Variable="" TempVar="" Type="0" RecipeIndex="0" AddQualityCol="0" QualityColName="" AddTimeStampCol="0" TimeStampColName="" AddNumUpdatesCol="0" NumUpdatesColName="">Mein_gesuchter_Text</Name>
Mich interessiert aber nur jener Text der am Ende vor dem schließenden Name-tag steht, ohne irgendwelche Sonderzeichen. Diesen muss ich dann in eine neue Text Datei schreiben.
Was ich bisher geschafft habe ist nur durch die einzelnen Attribute zu gehen, habe aber beim Debuggen gesehen dass außerhalb der Attribute das regex nicht verwendet wird.

C#:
                XmlReader xr = new XmlTextReader(Globals.DlrFile);
                while (xr.Read())
                {
                    if (xr.NodeType == XmlNodeType.Element)                                                     
                    {
                        if (xr.AttributeCount > 0)                                                               
                        {
                            while (xr.MoveToNextAttribute())                                                     
                            {
                                string Value = Convert.ToString(xr.Value);
                                string patternV = @"<Name>(>.*<)<\/Name>";

                                if (Regex.IsMatch(Value, patternV))                                             
                                {
                                    string input = Value;                                                       
                                    string output;
                                    output = input.Replace(">", "").Replace("_", " ").Replace("<", "");
                                    File.AppendAllText(Globals.AlrFileNeu, output + Environment.NewLine);       
                                }
                            }
                        }
                    }
Und nun hängt es mich auf da ich noch eher an meine ersten Schritte mit C# bin.

Danke im voraus.
 

Spyke

Premium-User
Schau dir mal die XmlDocument Klasse an.

damit kann man ziemlich leicht durch die Nodes navigieren.
Und dann auch ziemlich leicht den Inhalt einer Node auslesen.
 

123user123

Mitglied
Hallo, tut mir sehr leid dass ich erst jetzt antworte, aber die email ist mir in den Spam Ordner gelandet und habe es erst jetzt bemerkt.

Habe in der zwischenzeit das problem gelöst, aber danke trotzdem für die Antwort.
 

Neue Beiträge