XMLNode를 한 XMLDocument에서 다른 XMLDocument로 이동시키는 직관적 인 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/184486

  •  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);

}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top