Получить значение элемента из нескольких XML-файлов и поместить его в один xml-файл

#c# #xml #visual-studio-2010 #serialization #xsd

#c# #xml #visual-studio-2010 #сериализация #xsd

Вопрос:

У меня есть несколько XML-файлов с разными элементами в нем. Я сгенерировал xsd-файл для каждого xml-файла с помощью visual Studio, а также сгенерировал файл c #, введя xsd fileName.xsd Теперь я пытаюсь получить все элементы этих различных xml-файлов и поместить их в один xml-файл. Есть идеи, как это сделать? Когда я пытаюсь сериализовать каждый xml-файл отдельно, я не могу получить значение элементов.

Комментарии:

1. вы хотите объединить все ваши XML-файлы

2. Я объединяю все элементы xml-файла в один XML-файл

3. эти файлы имеют общие узлы или вам просто нужно объединить их в один

Ответ №1:

Вы можете использовать этот короткий фрагмент ниже для объединения двух XDocuments,

     string oldXmlFile = @"Path";
    string newXmlfile = @"Path2";
    XDocument document = XDocument.Load(oldXmlFile);
    document.Root.Add(XDocument.Load(newXmlfile).Root.Elements());
    document.Save(oldXmlFile);
  

но тогда дублирующиеся элементы также будут заполнять объединенный документ, так что здесь есть удобный маленький метод, который также проверяет наличие дублирующихся элементов.

Объединить с проверкой дублирующегося элемента (класс C #)