XMLNode를 한 XMLDocument에서 다른 XMLDocument로 이동시키는 직관적 인 방법은 무엇입니까?
-
06-07-2019 - |
문제
두 개의 XMLDocuments가 있으며 문서 중 하나에서 선택한 XMLNode를 이동하여 다른 문서의 특정 위치에 추가하고 싶습니다.
문서 2의 적절한 장소에서 단순히 부록 (xmlnodefromdocument1)을 호출하는 순진하게 직관적 인 접근법은이 방법이 소유 문서를 조작하는 것을 관리하지 않기 때문에 작동하지 않습니다.
나는이 질문을 작성하는 동안 문자 그대로 답을 찾았지만 System.xml 클래스에서 그것을 찾는 데 너무 오래 걸렸으므로 다른 사람이 그것을 검색하는 데 도움이되도록 여기에 게시 할 것이라고 생각했습니다.
해결책
전화해야합니다 ImportNode
대상 문서에서 대상 문서와 호환되는 노드를 가져옵니다. 다음 코드는 C#에서 수행되는 방법을 보여줍니다.
public void CopyExample()
{
XmlNode nodeFromDifferentDocument = SelectNodeFromSourceDocument();
XmlDocument targetDocument = InitializeTargetDocument();
XmlNode targetParentNode = SelectNodesParentWithinTargetDocument(targetDocument);
bool shouldDodeepCopy = DoIWantADeepCopy();
XmlNode copyThatBelongsToTargetDocument =
targetDocument.ImportNode(nodeFromDifferentDocument, shouldDoDeepCopy);
targetParentNode.AppendChild(copyThatBelongsToTargetDocument);
}
제휴하지 않습니다 StackOverflow