sollten Ihre Klassen mögen wie dieses hier
[XmlRoot("StepList")]
public class StepList
{
[XmlElement("Step")]
public List<Step> Steps { get; set; }
}
public class Step
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Desc")]
public string Desc { get; set; }
}
mein Testcode ist.
string testData = @"<StepList>
<Step>
<Name>Name1</Name>
<Desc>Desc1</Desc>
</Step>
<Step>
<Name>Name2</Name>
<Desc>Desc2</Desc>
</Step>
</StepList>";
XmlSerializer serializer = new XmlSerializer(typeof(StepList));
using (TextReader reader = new StringReader(testData))
{
StepList result = (StepList) serializer.Deserialize(reader);
}
Wenn Sie eine Textdatei lesen möchten, sollten Sie die Datei in ein Filestream laden und deserialisieren dies.
using (FileStream fileStream = new FileStream("<PathToYourFile>",FileMode.Open))
{
StepList result = (StepList) serializer.Deserialize(fileStream);
}
[XmlElement ("Step")] ist der Schlüssel - "Schritt" in XML-Verschachtelung zu entfernen ( ...) –
avs099
ich verstehe nicht. Sure '[XmlElement (" Step ")]' ist der Schlüssel, ist richtig. Was meinst du mit "-" Schritt "Verschachtelung in XML entfernen ( ...)". Vielen Dank! –
dknaack
war es nicht für Sie, sondern für andere, die diese Antwort liest könnte :) wenn Sie nicht [XmlElement] dann resultierenden XML wie das sein wird: Name1 Name2 . Es dauerte eine Weile, bis ich herausgefunden hatte, wie man den äußeren Block entfernen kann. –
avs099