XmlNode.InnerXml Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.