Лучший способ получить строку с разделителями-запятыми в формате XML? - PullRequest
2 голосов
/ 30 октября 2008

Использование VB.net (.net 2.0) У меня есть строка в этом формате:

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,

и т.д ...

Интересно, какой самый лучший (самый простой) способ сделать это в XML?

Я могу придумать 2 способа:

Способ 1: - используйте split для получения элементов в массиве - перебрать массив и построить строку xml, используя конкатенацию

Способ 2: - используйте split для получения элементов в массиве - перебирает массив для создания таблицы данных - используйте writexml для вывода xml из таблицы данных

Первое звучит довольно просто, но для построения строки потребуется больше логики.

Второй кажется более приятным и понятным.

Есть ли другие способы сделать это?

Ответы [ 2 ]

3 голосов
/ 31 октября 2008

Я бы сделал что-то вроде этого:


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

Должен вернуть что-то вроде этого:


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

Для вложенных данных вам придется по-разному вложить циклы / токенизацию ...

1 голос
/ 31 октября 2008

Вместо конкатенации строк вы, вероятно, могли бы создать XmlDocument и заполнить его соответствующими объектами XmlElement и XmlAttribute из вашей строки ... Затем запишите объект XmlDocument ...

...