2008-10-30 2 views
2

Использование VB.net (.net 2.0) У меня есть строка в следующем формате:Лучший способ получить выделенную запятую строку в формате xml?

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2, 

и т.д ...

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

я могу думать о 2-мя способами:

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

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

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

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

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

+0

Как вы узнаете, где заканчивается запись 1 и записываются два имени? Всегда ли будет три поля или есть ли линии, которые мы не видим? – 2008-10-30 21:07:18

+0

И вас беспокоит, если поля рассматриваются как элементы или атрибуты? – 2008-10-30 21:09:18

ответ

3

Я хотел бы сделать что-то как это:

 

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> 
 

Вы бы петель гнезда/разметить немного по-другому ly для вложенных данных ...

1

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

Смежные вопросы