Freigeben über


XmlNode.InnerXml Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Markups, das nur die untergeordneten Knoten dieses Knotens darstellt.

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

Eigenschaftswert

Das Markup der untergeordneten Knoten dieses Knotens, nicht einschließlich Der Standardattribute.

Ausnahmen

Festlegen dieser Eigenschaft auf einem Knoten, der nicht über untergeordnete Knoten verfügt.

Der XML-Code, der beim Festlegen dieser Eigenschaft angegeben wurde, ist nicht wohlgeformt.

Beispiele

Im folgenden Beispiel werden die und InnerXml die InnerText Eigenschaften verglichen.

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.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

Hinweise

Wenn Sie versuchen, diese Eigenschaft von einem Knoten festzulegen, der nicht über untergeordnete Knoten verfügt, z. B. einen Textknoten, wird eine Ausnahme ausgelöst. Andernfalls ersetzt die Einstellung InnerXml die untergeordneten Knoten des Knotens durch den analysierten Inhalt der angegebenen Zeichenfolge. Die Analyse erfolgt im aktuellen Namespacekontext.

Diese Eigenschaft ist eine Microsoft-Erweiterung für das Document Object Model (DOM).

Hinweis

InnerXml ist keine effiziente Möglichkeit zum Ändern des DOM. Es können Leistungsprobleme auftreten, wenn komplexe Knoten ersetzt werden. Es ist effizienter, Knoten zu erstellen und Methoden wie InsertBefore, InsertAfter, , AppendChildund RemoveChild zum Ändern des XML-Dokuments zu verwenden.

Gilt für: