Как объединить несколько файлов XML с данными в одном формате в один файл XML со всеми данными вместе, используя C#. NET? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть блоб (XYZ), который получает несколько XML файлов в одном формате. См. Ниже

XML файл 1:

<Product>
    <ID>001</ID>
    <Name>John</Name>
    <Designation>Developer</Designation>
</Product>

XML файл 2:

<Product>
    <ID>002</ID>
    <Name>Peter</Name>
    <Designation>Tester</Designation>
</Product>

XML файл 3:

<Product>
    <ID>003</ID>
    <Name>Arun</Name>
    <Designation>Support</Designation>
</Product>

XML файл 4:

<Product>
    <ID>004</ID>
    <Name>Swetha</Name>
    <Designation>Analyst</Designation>
</Product>

XML файл 5:

<Product>
    <ID>005</ID>
    <Name>Gokul</Name>
    <Designation>Maintainence</Designation>
</Product>

Мне нужно объединить все эти файлы в один XML файл, как показано ниже, и положить в другой BLOB-объект (AB C).

Объединить XML Файл:

<xml>
<Product>
    <ID>001</ID>
    <Name>John</Name>
    <Designation>Developer</Designation>
</Product>

<Product>
    <ID>002</ID>
    <Name>Peter</Name>
    <Designation>Tester</Designation>
</Product>

<Product>
    <ID>003</ID>
    <Name>Arun</Name>
    <Designation>Support</Designation>
</Product>

<Product>
    <ID>004</ID>
    <Name>Swetha</Name>
    <Designation>Analyst</Designation>
</Product>

<Product>
    <ID>005</ID>
    <Name>Gokul</Name>
    <Designation>Maintainence</Designation>
</Product>
</xml>

Мне может понадобиться такой как.

Что я пробовал так far ниже единицы.

                    using (var jw = new XmlTextWriter(sw)) //sw holds the o/p location to store the merged files 
                    {
                        jw.WriteStartElement("root");

                        int i = 0;
                        int c = list.Count();
                        foreach (var item in list)
                        {
                            if (i > 0)
                                await jw.WriteRawAsync("\r\n");

                            var blobdata = await OutputContainerService.GetContentAsync(input.InputLocation + "/" + item);
                            await jw.WriteRawAsync(blobdata);
                            i++;
                        }

                        jw.WriteEndElement();

                        await jw.FlushAsync();
                    }

Как я могу добиться этого, используя C#. NET?

1 Ответ

1 голос
/ 19 марта 2020

Опция 1:

  1. Создать класс продукта
  2. Заполнить объект Product значениями, десериализовав xml
  3. Добавить объект продукта в Список
  4. Сериализация списка

Вариант 2:

  1. чтение xml до XML Документ
  2. заполнить продукт xml как xml узел
  3. Добавить узлы xml в xml документы
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...