Der beste Weg, eine durch Kommata getrennte Zeichenfolge in XML-Format zu erhalten?
Frage
Mit VB.net (.net 2.0) Ich habe eine Zeichenfolge in diesem Format:
record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,
etc ...
Ich frage mich, was der beste (am einfachsten) Weg, dies in eine XML zu erhalten ist?
kann ich mir vorstellen 2 Möglichkeiten:
Methode 1: - Verwendung spaltete die Elemente in einem Array zu erhalten - Durchschleifen-Array und baut einen XML-String unter Verwendung Verkettung
Methode 2: - Verwendung spaltete die Elemente in einem Array zu erhalten - Schleifen durch Anordnung eine Datentabelle zu bauen - Verwendung WriteXml zur Ausgabe von XML-Daten aus der Datentabelle
Die erste recht einfach klingt, aber würde mehr Logik erfordert die Zeichenfolge zu bauen.
Die zweite scheint schlankeres und leichter zu verstehen.
Gibt es andere Möglichkeiten, dies zu tun?
Lösung
Ich würde so etwas tun:
XmlDocument doc = new XmlDocuent();
string[] data = csv.split(',');
XmlNode = doc.CreateElement("root");
foreach(string str in data)
{
XmlNode node = doc.CreateElement("data");
node.innerText = str;
root.AppendChild(node);
}
Console.WriteLine(doc.InnerXML);
Sollte so etwas wie dies zurück:
<root>
<data>field 1</data>
<data>field 2</data>
<data>field 3</data>
</root>
Sie müßten Nest Loops / tokenize ein wenig anders für verschachtelte Daten ...
Andere Tipps
Stattdessen String-Verkettung zu tun, könnten Sie wahrscheinlich ein XmlDocument und stopft es mit dem entsprechenden XmlElement erstellen und XmlAttribute-Objekte aus der Zeichenfolge ... Dann das XmlDocument-Objekt schreiben ...