Le meilleur moyen d’obtenir une chaîne délimitée par des virgules au format XML?

StackOverflow https://stackoverflow.com/questions/251753

  •  05-07-2019
  •  | 
  •  

Question

Utilisation de VB.net (.net 2.0) J'ai une chaîne dans ce format:

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,

etc ...

Je me demande quel est le meilleur moyen (le plus simple) d’intégrer cela dans un xml?

Je peux penser à 2 façons:

Méthode 1: - utilise split pour obtenir les éléments d'un tableau - boucle dans un tableau et construction d'une chaîne xml en utilisant la concaténation

Méthode 2: - utilise split pour obtenir les éléments d'un tableau - Boucle à travers tableau pour construire un datatable - utilise writexml pour générer du XML à partir du datatable

Le premier sonne assez simple mais nécessiterait plus de logique pour construire la chaîne.

La seconde semble plus lisse et plus facile à comprendre.

Existe-t-il d'autres moyens de le faire?

Était-ce utile?

La solution

Je voudrais faire quelque chose comme ça:


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);

Devrait renvoyer quelque chose comme ceci:


<root>
    <data>field 1</data>
    <data>field 2</data>
    <data>field 3</data>
</root>

Il vous faudrait imbriquer les boucles / tokeniser un peu différemment pour les données imbriquées ...

Autres conseils

Au lieu d'effectuer la concaténation de chaînes, vous pouvez probablement créer un document XmlDocument et le farcir avec les objets XmlElement et XmlAttribute appropriés à partir de votre chaîne ... Ensuite, écrivez l'objet XmlDocument ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top