2013-12-17 7 views
0

У меня есть текстовый файл (сгенерированный из унаследованной системы COBOL), который имеет различную компоновку записей. Оно аналогично этому:Как преобразовать текстовый файл с различным расположением записей в XML?

http://www.stylusstudio.com/varying_record_layout.html

То, что я хочу сделать, это разобрать этот текстовый файл с помощью C# получить данные в формате XML, а затем загрузить его содержимое в базу данных. (Несколько слов делают операцию ETL).

Как я могу выполнить эту задачу с помощью C# и обработать XML API? Некоторые советы, советы, & c.?

Заранее спасибо.

+2

XmlDocument/XmlWriter? Или, XDocument? (В зависимости от того, что вам больше нравится, и любой версии .NET, которую вы должны поддерживать) – elgonzo

+0

@elgonzo, я предпочитаю подход, который использует лучшую производительность и гибкость. .NET 4.5. Благодарю. – InfZero

+1

Тогда я бы предложил пойти с XDocument. Google для чего-то вроде «создайте xml с xdocument», и вы найдете много информации ... – elgonzo

ответ

0

Вы могли бы попробовать что-то вроде этого:

1) Написать код вручную создать DataSet с

  • DataTables, которые имитируют каждый тип гетерогенных записей. OR
  • содержит один DataTable, который содержит все гетерогенные данные.

2) разбирает записи и и распространять их в соответствующем DataTables в вашем DataSet

3) сериализовать DataSet используя код, похожий на приведенный ниже код.

Затем вы можете легко загрузить данные непосредственно в DataSet, если вам нужно его обработать. Надеюсь, это вам полезно.

private void SerializeDataSet(DataSet ds, string filename){ 
    XmlSerializer ser = new XmlSerializer(typeof(DataSet));  
    TextWriter writer = new StreamWriter(filename); 
    ser.Serialize(writer, ds); 
    writer.Close(); 
} 

Here является ссылка на документацию MSDN для XML сериализации.

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