Я использовал следующие SO, How to merge two XmlDocuments in C#, чтобы объединить два примера XML-файлов в один. По существу, здесь мои два XML-файлыКомбинировать два xml_docs C# xmlDocument
test1.xml:
<root>
<Name>
<id>4</id>
<First_name>Tony</First_name>
<last_name>""</last_name>
</Name>
<Name>
<id>6</id>
<First_name>Donny</First_name>
<last_name>Test</last_name>
<middle_name>Ward</middle_name>
</Name>
</root>
И test2.xml
<root>
<Name>
<id>1</id>
<First_name>Nick</First_name>
<last_name>Tester</last_name>
</Name>
<Name>
<id>2</id>
<First_name>Lauren</First_name>
<last_name>MsTester</last_name>
</Name>
</root>
Я использую этот код его слить в один файл, но процедура фактически не объединяет их. Я немного знаком с классом xmlDocument и по-прежнему пытаюсь правильно решить эту проблему.
Код:
XmlDocument xmlreader1 = new XmlDocument();
xmlreader1.Load("C:\\Temp\\test1.xml");
XmlDocument xmlreader2 = new XmlDocument();
xmlreader2.Load("C:\\Temp\\test2.xml");
foreach (XmlNode node in xmlreader2.DocumentElement.ChildNodes)
{
XmlNode importedDocument = xmlreader1.ImportNode(node, true);
xmlreader1.DocumentElement.AppendChild(importedDocument);
}
Я считаю, что это правильно принимать каждый дочерний узел корня (в данном случае <name>
) из test2.xml и добавить его в test1.xml. Я также пробовал в качестве:
XmlNode importedDocument = xmlreader1.ImportNode(xmlreader2.DocumentElement, true);
xmlreader1.DocumentElement.AppendChild(importedDocument);
с другой стороны никаких дополнительных предложений было бы весьма полезно.
Вам особенно нужно * использовать 'XmlDocument'? LINQ to XML, как правило, проще в использовании. Кроме того, пожалуйста, позаботьтесь о форматировании своего сообщения - посмотрите предварительный просмотр и отправьте только, когда вопрос будет выглядеть так, как вы хотите, чтобы он выглядел, если вы пытаетесь ответить на него. –