XmlNode.InnerXml Eigenschap

Definitie

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.

Van toepassing op