XmlNode.InnerXml Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de markering opgehaald of ingesteld die alleen de onderliggende knooppunten van dit knooppunt vertegenwoordigt.
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
Waarde van eigenschap
De markering van de onderliggende knooppunten van dit knooppunt, niet inclusief standaardkenmerken.
Uitzonderingen
Deze eigenschap instellen op een knooppunt dat geen onderliggende knooppunten kan hebben.
De XML die is opgegeven bij het instellen van deze eigenschap, is niet goed opgemaakt.
Voorbeelden
In het volgende voorbeeld worden de InnerText en InnerXml eigenschappen vergeleken.
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
Opmerkingen
Als u deze eigenschap probeert in te stellen vanaf een knooppunt dat geen onderliggende knooppunten kan hebben, bijvoorbeeld een tekstknooppunt, wordt er een uitzondering gegenereerd. Anders vervangt de instelling InnerXml de onderliggende knooppunten van het knooppunt door de geparseerde inhoud van de opgegeven tekenreeks. De parsering wordt uitgevoerd in de huidige naamruimtecontext.
Deze eigenschap is een Microsoft extensie voor het Document Object Model (DOM).
Note
InnerXml is geen efficiënte manier om de DOM te wijzigen. Er zijn mogelijk prestatieproblemen bij het vervangen van complexe knooppunten. Het is efficiënter om knooppunten samen te stellen en methoden zoals InsertBefore, InsertAfteren AppendChildRemoveChild om het XML-document te wijzigen.