XmlDocument.InnerXml 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 노드의 자식을 나타내는 태그를 가져오거나 설정합니다.
public:
virtual property System::String ^ InnerXml { System::String ^ get(); void set(System::String ^ value); };
public override string InnerXml { get; set; }
member this.InnerXml : string with get, set
Public Overrides Property InnerXml As String
속성 값
현재 노드의 자식을 나타내는 태그입니다.
예외
이 속성을 설정할 때 지정된 XML이 올바른 형식이 아닙니다.
설명
이 속성을 설정하면 노드의 자식이 지정된 문자열의 구문 분석된 내용으로 바뀝니다. 현재 네임스페이스 컨텍스트에서 구문 분석이 수행됩니다.
InnerXml
는 중복 네임스페이스 선언을 제거합니다. 결과적으로 복사 및 붙여넣기를 여러 번 실행해도 중복 네임스페이스 선언으로 인해 문서 크기가 증가하지 않습니다. 다음 XSL 문서를 고려합니다.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="stock">
...
</xsl:template>
</xsl:stylesheet>
stylesheet 노드의 속성은 InnerXml
다음 문자열을 반환합니다.
<xsl:template match="stock"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
...
</xsl:template>
노드 ID를 유지하는 데 사용되는 추가 xmlns:xsl 네임스페이스 선언을 확인합니다. 이 내부 XML 문자열을 다시 삽입하면 원래 문서를 다시 가져옵니다. 즉, InnerXml
부모 xsl:stylesheet 요소에 이미 xmlns:xsl 네임스페이스 선언이 있으므로 xmlns:xsl 네임스페이스 선언이 중복됨을 인식합니다.
기본 네임스페이스가 없는 문서에서 기본 네임스페이스가 있는 문서로 이동하는 InnerXml
경우 동작은 약간 다릅니다. 다음 XML 문자열을 고려합니다.
<test>
<item>123</item>
</test>
InnerXml
는 네임스페이스 선언이 없는 일반 XML 문자열을 반환합니다.
<item>123</item>
그런 다음, 다음과 같이 기본 네임스페이스가 있는 문서에 이 문자열을 삽입합니다.
<test2 xmlns="urn:1">
</test>
InnerXml
는 컨텍스트에서 문자열을 구문 분석하고 새 노드는 urn:1 네임스페이스를 선택합니다. 결과는 다음과 같습니다.
<test2 xmlns="urn:1">
<item>123</item>
</test>
이제 를 요청할 InnerXml
때 다음을 다시 가져옵니다.
<item xmlns="urn:1">123</item>
삽입된 항목이 네임스페이스가 없는 문서에서 온 사실을 유지하려면 xmlns= "" 선언을 수동으로 추가하고 결과 문자열을 삽입해야 합니다.
<item xmlns="">123</item>
이 모든 것의 순 효과는 다음과 같습니다.
네임스페이스를 사용하지 않는 문서 간에 잘라내고 붙여
InnerXml
넣는 것은 깨끗하고 간단하며 문자열에 "xmlns" 중복성을 만들지 않습니다.InnerXml
는 둘 이상의 네임스페이스가 있는 문서(즉, XSL 스타일시트)를 잘라내고 붙여넣는 데 사용할 수도 있습니다.xmlns:xsl 선언은 문자열에 자동으로 표시되고 노드 계층에서 사라집니다.
기본 네임스페이스가 없는 문서에서 기본 네임스페이스가 있는 문서로 이동하는
InnerXml
경우 새 노드가 새 기본 네임스페이스를 선택합니다.
현재 문서에 정의되지 않은 엔터티 참조가 포함된 텍스트로 가 설정된 경우 InnerXml
결과 트리에는 빈 EntityReference 노드가 포함됩니다.
이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.
적용 대상
.NET