다음을 통해 공유


한 문서에서 다른 문서로 기존 노드 복사

ImportNode 메서드는 노드 또는 전체 노드 하위 트리가 한 XmlDocument에서 다른 XmlDocument로 복사되는 메커니즘입니다. 호출에서 반환된 노드는 특성 값, 노드 이름, 노드 형식 및 접두사, 로컬 이름 및 네임스페이스 URI(Uniform Resource Identifier)와 같은 모든 네임스페이스 관련 특성을 포함하여 원본 문서의 노드 복사본입니다. 원본 문서는 변경되지 않습니다. 노드를 가져온 후에도 노드를 삽입하는 데 사용되는 방법 중 하나를 사용하여 트리에 추가해야 합니다.

노드가 새 문서에 연결되면 새 문서가 노드를 소유합니다. 그 이유는 노드가 별도의 문서 조각에서 만들어지더라도 각 노드를 만들 때 소유하는 문서가 있기 때문입니다. 이는 XML DOM(문서 개체 모델)의 요구 사항이며 XmlDocument 클래스의 팩터리 만들기 디자인에 의해 적용됩니다. 예를 들어 CreateElement는 새 노드를 만드는 유일한 방법입니다.

가져온 노드의 노드 형식 및 매개 변수의 값에 따라 추가 정보가 적절하게 복사됩니다. 이 메서드는 XML 또는 HTML 원본의 조각이 한 문서에서 다른 문서로 복사된 경우 예상되는 동작을 미러링하려고 시도하며, XML의 경우 두 문서에 다른 DTD(문서 형식 정의)가 있을 수 있습니다.

다음 표에서는 가져올 수 있는 노드의 각 유형에 대한 특정 동작에 대해 설명합니다.

노드 형식 deep 매개 변수가 true입니다. deep 매개 변수가 false입니다.
XmlAttribute Specified XmlAttribute에서 true로 설정됩니다. 원본 XmlAttribute 의 하위 항목을 재귀적으로 가져오고 결과 노드를 다시 어셈블하여 해당 하위 트리를 형성합니다. 매개 변수는 가져올 때 항상 자식 노드를 가지고 다니기 때문에 XmlAttribute 노드에는 적용되지 않습니다.
XmlCData 섹션 해당 데이터를 포함하여 노드를 복사합니다. 해당 데이터를 포함하여 노드를 복사합니다.
XML 주석 해당 데이터를 포함하여 노드를 복사합니다. 해당 데이터를 포함하여 노드를 복사합니다.
XmlDocumentFragment 원본 노드의 하위 항목을 재귀적으로 가져오고 결과 노드를 다시 어셈블하여 해당 하위 트리를 형성합니다. XmlDocumentFragment 가 만들어집니다.
XML 문서 유형 해당 데이터를 포함하여 노드를 복사합니다.* 해당 데이터를 포함하여 노드를 복사합니다.*
XmlElement 원본 요소의 하위 항목은 재귀적으로 가져오고 결과 노드는 해당 하위 트리를 형성하기 위해 다시 어셈블됩니다. 메모: 기본 특성은 복사되지 않습니다. 가져올 문서가 이 요소 이름의 기본 특성을 정의하는 경우 해당 특성이 할당됩니다. 원본 요소의 지정된 특성 노드를 가져오고 생성된 XmlAttribute 노드가 새 요소에 연결됩니다. 하위 노드는 복사되지 않습니다. 메모: 기본 특성은 복사되지 않습니다. 가져올 문서가 이 요소 이름의 기본 특성을 정의하는 경우 해당 특성이 할당됩니다.
XmlEntityReference 원본 및 대상 문서에는 엔터티가 다르게 정의되어 있을 수 있으므로 이 메서드는 XmlEntityReference 노드만 복사합니다. 대체 텍스트는 포함되지 않습니다. 대상 문서에 엔터티가 정의되어 있으면 해당 값이 할당됩니다. 원본 및 대상 문서에는 엔터티가 다르게 정의되어 있을 수 있으므로 이 메서드는 XmlEntityReference 노드만 복사합니다. 대체 텍스트는 포함되지 않습니다. 대상 문서에 엔터티가 정의되어 있으면 해당 값이 할당됩니다.
XML 처리 명령부 가져온 노드에서 대상 및 데이터 값을 복사합니다. 가져온 노드에서 대상 및 데이터 값을 복사합니다.
XmlText (XML 텍스트) 해당 데이터를 포함하여 노드를 복사합니다. 해당 데이터를 포함하여 노드를 복사합니다.
XmlSignificantWhitespace (중요 공백) 해당 데이터를 포함하여 노드를 복사합니다. 해당 데이터를 포함하여 노드를 복사합니다.
XmlWhitespace 해당 데이터를 포함하여 노드를 복사합니다. 해당 데이터를 포함하여 노드를 복사합니다.
XmlDeclaration 가져온 노드에서 대상 및 데이터 값을 복사합니다. 가져온 노드에서 대상 및 데이터 값을 복사합니다.
다른 모든 노드 형식 이러한 노드 형식은 가져올 수 없습니다. 이러한 노드 형식은 가져올 수 없습니다.

비고

DocumentType 노드를 가져올 수 있지만 문서에는 DocumentType이 하나만 있을 수 있습니다. 따라서 문서 형식을 가져온 후에는 트리에 삽입하기 전에 문서에 문서 형식이 없는지 확인해야 합니다. 노드를 제거하는 방법에 대한 자세한 내용은 XML 문서에서 노드, 콘텐츠 및 값 제거를 참조하세요.

참고하십시오