XmlNode.InnerXml XmlNode.InnerXml XmlNode.InnerXml XmlNode.InnerXml Property

정의

이 노드의 자식 노드를 나타내는 태그를 가져오거나 설정합니다.Gets or sets the markup representing only the child nodes of this node.

public:
 virtual property System::String ^ InnerXml { System::String ^ get(); void set(System::String ^ value); };
public virtual string InnerXml { get; set; }
member this.InnerXml : string with get, set
Public Overridable Property InnerXml As String

속성 값

이 노드의 자식 노드를 나타내는 태그입니다.The markup of the child nodes of this node.

InnerXml은 기본 특성을 반환하지 않습니다.InnerXml does not return default attributes.

예외

자식 노드를 가질 수 없는 노드에 대해 이 속성을 설정하는 경우Setting this property on a node that cannot have child nodes.

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

예제

다음 예제에서는 비교 합니다 InnerTextInnerXml 속성입니다.The following example compares the InnerText and InnerXml properties.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<root>"
   "<elem>some text<child/>more text</elem>"
   "</root>" );
   XmlNode^ elem = doc->DocumentElement->FirstChild;
   
   // Note that InnerText does not include the markup.
   Console::WriteLine( "Display the InnerText of the element..." );
   Console::WriteLine( elem->InnerText );
   
   // InnerXml includes the markup of the element.
   Console::WriteLine( "Display the InnerXml of the element..." );
   Console::WriteLine( elem->InnerXml );
   
   // Set InnerText to a string that includes markup.  
   // The markup is escaped.
   elem->InnerText = "Text containing <markup/> will have char(<) and char(>) escaped.";
   Console::WriteLine( elem->OuterXml );
   
   // Set InnerXml to a string that includes markup.  
   // The markup is not escaped.
   elem->InnerXml = "Text containing <markup/>.";
   Console::WriteLine( elem->OuterXml );
}

using System;
using System.Xml;
public class Test {

  public static void Main() {
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<root>"+
                "<elem>some text<child/>more text</elem>" +
                "</root>");

    XmlNode elem = doc.DocumentElement.FirstChild;

    // Note that InnerText does not include the markup.
    Console.WriteLine("Display the InnerText of the element...");
    Console.WriteLine( elem.InnerText );

    // InnerXml includes the markup of the element.
    Console.WriteLine("Display the InnerXml of the element...");
    Console.WriteLine(elem.InnerXml);

    // Set InnerText to a string that includes markup.  
    // The markup is escaped.
    elem.InnerText = "Text containing <markup/> will have char(<) and char(>) escaped.";
    Console.WriteLine( elem.OuterXml );

    // Set InnerXml to a string that includes markup.  
    // The markup is not escaped.
    elem.InnerXml = "Text containing <markup/>.";
    Console.WriteLine( elem.OuterXml );
  }
}
Imports System
Imports System.Xml

public class Test

  public shared sub Main()

    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<root>"& _
                "<elem>some text<child/>more text</elem>" & _
                "</root>")

    Dim elem as XmlNode = doc.DocumentElement.FirstChild

    ' Note that InnerText does not include the markup.
    Console.WriteLine("Display the InnerText of the element...")
    Console.WriteLine( elem.InnerText )

    ' InnerXml includes the markup of the element.
    Console.WriteLine("Display the InnerXml of the element...")
    Console.WriteLine(elem.InnerXml)

    ' Set InnerText to a string that includes markup.  
    ' The markup is escaped.
    elem.InnerText = "Text containing <markup/> will have char(<) and char(>) escaped."
    Console.WriteLine( elem.OuterXml )

    ' Set InnerXml to a string that includes markup.  
    ' The markup is not escaped.
    elem.InnerXml = "Text containing <markup/>."
    Console.WriteLine( elem.OuterXml )
    
  end sub
end class

설명

자식 노드를 가질 수 없는 노드에서이 속성을 설정 하는 동안, 예를 들어 텍스트 노드 예외가 throw 됩니다.Attempting to set this property from a node that cannot have child nodes, for example a Text node, throws an exception. 그렇지 않은 경우 설정 InnerXml 노드의 자식 노드를 지정된 된 문자열의 구문 분석 된 내용으로 바꿉니다.Otherwise, setting InnerXml replaces the child nodes, of the node, with the parsed contents of the given string. 현재 네임스페이스 컨텍스트에서 구문 분석이 수행됩니다.The parsing is done in the current namespace context.

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

참고

InnerXml DOM을 수정 하는 효율적인 방법이 아닙니다.InnerXml is not an efficient way to modify the DOM. 복잡 한 노드를 대체 하는 경우에 성능 문제가 있을 수 있습니다.There may be performance issues when replacing complex nodes. 것이 노드를 생성 및와 같은 메서드를 사용 하는 것이 효율적 InsertBefore, InsertAfterAppendChild, 및 RemoveChild Xml 문서를 수정할 수 있습니다.It is more efficient to construct nodes and use methods such as InsertBefore, InsertAfter, AppendChild, and RemoveChild to modify the Xml document.

적용 대상