두 개의 샘플 XML 파일을 하나로 합치기 위해 다음 SO (How to merge two XmlDocuments in C#)를 사용했습니다. 기본적으로 여기 내 두 개의 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);
}
나는이 test2.xml에서 (이 경우 <name>
에) 루트의 각 자식 노드를 가지고 test1.xml 그것을 추가 할 올바른 생각합니다. 또한 다음과 같이 시도했습니다.
XmlNode importedDocument = xmlreader1.ImportNode(xmlreader2.DocumentElement, true);
xmlreader1.DocumentElement.AppendChild(importedDocument);
다시 사용할 수있는 제안 사항은 없습니다.
'XmlDocument'를 사용하려면 특히 * 필요합니까? LINQ to XML은 일반적으로 사용하기가 더 쉽습니다. 또한 게시물 형식을 좀 더 자세하게 처리하십시오. 미리보기를보고 질문에 답을 얻으 려한다면 어떻게 보이는지 궁금 할 때 제출하십시오. –