Лучший способ получить строку, разделенную запятыми, в формат xml?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

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

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,

и т. д...

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

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

Метод 1:- Используйте разделение, чтобы получить элементы в массиве - перевернуть через массив и построить строку XML, используя Concatenation

Метод 2:- Используйте Split, чтобы получить элементы в массиве - циклы через массив для создания DataTable - Используйте writexml для вывода XML из DataTable

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

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

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

Это было полезно?

Решение

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


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>
</root>

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top