Hallo zusammen,
ich bin keinen Programmier, aber versuche gern kleinere Programme zu basteln.
ich habe eine Textdatei, die aus mehrere Hundert Zeilen besteht und so aussieht.
011001;Artikel x;20$
011002;Artikel y;10$
usw...
ich lese die Datei zeilenweise und teile die zeilen nach erhaltene ";" zeichen
danach will ich mit dieser Informationen eine Xml-Datei erstellen, die so aussehen soll.
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| <Artikels> <Artikel> <artNr>011001</artNr> <artName>Artikel x</artName> <artPreis>20$</artPreis> </Artikel> <Artikel> <artNr>011002</artNr> <artName>Artikel y</artName> <artPreis>10$</artPreis> </Artikel> .... </Artikels> |
leider bekomme ich nur die ersten 130 Artikels , danach es gibt IndexOutOfRangeException Fehler...
meine Code sieht so aus....
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| private void FileToXml() { string artNr; string artName; string artPreis;
string line = ""; string fileNameAndPath = @"C:/Daten/Artikels.txt"; System.IO.StreamReader file = new System.IO.StreamReader(fileNameAndPath); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true;
XmlWriter writer = XmlWriter.Create(@"C:/Daten/Artikels.xml", settings); writer.WriteStartDocument(); writer.WriteStartElement("Artikels"); while ((line = file.ReadLine()) != null) { string[] sp = line.Split(';');
artNr = sp[0]; artName = sp[1]; artPreis = sp[2];
writer.WriteStartElement("Artikel"); writer.WriteElementString("artNr", artNr); writer.WriteElementString("artName", artName); writer.WriteElementString("artPreis", artPreis); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); file.Close();
} |
so für hinweise wäre ich wirklich dankbar
)
vielen Dank
El