XmlDocument.InnerXml XmlDocument.InnerXml XmlDocument.InnerXml XmlDocument.InnerXml Property

정의

현재 노드의 자식을 나타내는 태그를 가져오거나 설정합니다.Gets or sets the markup representing the children of the current node.

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

속성 값

현재 노드의 자식을 나타내는 태그입니다.The markup of the children of the current node.

예외

이 속성을 설정할 때 지정된 XML이 올바른 형식이 아닙니다.The XML specified when setting this property is not well-formed.

설명

이 속성을 설정 노드의 자식이 지정된 된 문자열의 구문 분석 된 내용으로 바뀝니다.Setting this property replaces the children of the node with the parsed contents of the given string. 현재 네임스페이스 컨텍스트에서 구문 분석이 수행됩니다.The parsing is done in the current namespace context.

InnerXml 중복 네임 스페이스 선언을 제거합니다.InnerXml removes redundant namespace declarations. 결과적으로 복사 및 붙여넣기를 여러 번 실행해도 중복 네임스페이스 선언으로 인해 문서 크기가 증가하지 않습니다.As a result, numerous cut and paste operations do not increase the size of your document with redundant namespace declarations. 다음은 XSL 문서를 고려해 야 합니다.Consider the following XSL document:

<xsl:stylesheet version="1.0"   
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
     <xsl:template match="stock">  
         ...  
     </xsl:template>  
    </xsl:stylesheet>  

InnerXml 스타일 시트 노드의 속성 다음 문자열을 반환 합니다.The InnerXml property on the stylesheet node returns the following string:

<xsl:template match="stock"   
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
     ...  
    </xsl:template>  

노드 id를 보존 하는 데 사용 되는 추가 나타났다가 네임 스페이스 선언을 알 수 있습니다.Notice the additional xmlns:xsl namespace declaration which is used to preserve the node identity. 이 내부 XML 문자열을 다시 삽입 하는 경우 하면 다시 원래 문서.If you re-insert this inner XML string, you will get back your original document. 즉, InnerXml 부모 xsl: stylesheet 요소는 이미 나타났다가 네임 스페이스 선언 및 제거 하는 나타났다가 네임 스페이스 선언이 중복 임을 인식 합니다.In other words, InnerXml recognizes that the xmlns:xsl namespace declaration is redundant, given that the parent xsl:stylesheet element already has the xmlns:xsl namespace declaration, and therefore removes it.

이동 하는 경우 InnerXml 기본 네임 스페이스를 사용 하 여 문서에 없는 기본 네임 스페이스를 사용 하 여 문서에서 동작은 약간 다릅니다.If you move InnerXml from a document with no default namespace to a document with a default namespace, the behavior is a little different. 다음 XML 문자열을 사용 하는 것이 좋습니다.Consider the following XML string:

<test>  
      <item>123</item>  
    </test>  

InnerXml 네임 스페이스 선언이 없는 일반 XML 문자열을 반환합니다.InnerXml returns a plain XML string with no namespace declarations:

<item>123</item>  

그런 다음이 문자열 같은 기본 네임 스페이스에 있는 문서에 삽입 하면:If you then insert this string into a document that does have a default namespace, such as the following:

<test2 xmlns="urn:1">  
    </test>  

InnerXml 구문 분석 문자열에서 컨텍스트 및 새 노드 urn: 1 네임 스페이스를 선택 합니다.InnerXml parses the string in context, and the new nodes pick up the urn:1 namespace. 결과 다음과 같습니다.The result looks like this:

<test2 xmlns="urn:1">  
      <item>123</item>  
    </test>  

이제 요청 하면는 InnerXml 다음 다시 가져옵니다.Now when you ask for the InnerXml you get back the following:

<item xmlns="urn:1">123</item>  

Xmlns를 수동으로 추가 해야 하는 다음 네임 스페이스가 없는 있는 문서에서 온 사실을 유지 하기 위해 삽입된 된 항목을 명시적으로 하려는 경우 = "" 선언 하 고 결과 문자열을 삽입 합니다.If you explicitly want the inserted item to preserve the fact that it came from a document that had no namespace then you need to manually add an xmlns= "" declaration and insert the resulting string:

<item xmlns="">123</item>  

모든 작업의 결과 다음과 같습니다.The net effect of all this is as follows:

  1. 잘라내기 및 붙여넣기 InnerXml 사용 하지 않는 문서 간의 네임 스페이스는 간단 하 고 문자열에서 "xmlns" 중복을 만들지 않습니다.Cutting and pasting InnerXml among documents that do not use namespaces is clean and simple and does not create "xmlns" redundancy in your strings.

  2. InnerXml 잘라내기 및 붙여넣기 (즉, XSL 스타일 시트) 둘 이상의 네임 스페이스에 있는 문서 간에 사용할 수 있습니다.InnerXml can also be used to cut and paste between documents which have more than one namespace (that is XSL stylesheets).

  3. 나타났다가 선언을 문자열에 자동으로 나타나고 노드 계층 구조에서 사라집니다.xmlns:xsl declarations automatically appear in your strings and disappear in your node hierarchies.

  4. 이동할 경우에서 InnerXml 없는 기본 네임 스페이스에 기본 네임 스페이스가 있는 문서에 있는 문서에서 새 노드는 새 기본 네임 스페이스를 선택 합니다.In the case where you are moving InnerXml from a document that has no default namespace to a document that does have a default namespace, the new nodes will pick up the new default namespace.

경우 InnerXml 설정 된 현재 문서에서 정의 되지 않은 엔터티 참조를 포함 하는 텍스트를 사용 하 여 결과 트리에 빈 EntityReference 노드 포함 됩니다.If InnerXml is set with text containing entity references that are not currently defined in the document, the resulting tree will contain empty EntityReference nodes.

이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.This property is a Microsoft extension to the Document Object Model (DOM).

적용 대상