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?

War es hilfreich?

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 ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top