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

Definizione

Ottiene o imposta il markup che rappresenta solo i nodi figlio del nodo.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

Valore della proprietà

Markup dei nodi figlio del nodo.The markup of the child nodes of this node.

InnerXml non restituisce attributi predefiniti.InnerXml does not return default attributes.

Eccezioni

Viene impostata questa proprietà per un nodo che non può avere elementi figlio.Setting this property on a node that cannot have child nodes.

Il formato del file XML specificato al momento dell'impostazione della proprietà non è corretto.The XML specified when setting this property is not well-formed.

Esempi

Nell'esempio seguente vengono confrontate InnerXml le InnerText proprietà e.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.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

Commenti

Se si tenta di impostare questa proprietà da un nodo che non può contenere nodi figlio, ad esempio un nodo di testo, viene generata un'eccezione.Attempting to set this property from a node that cannot have child nodes, for example a Text node, throws an exception. In caso contrario InnerXml , l'impostazione sostituisce i nodi figlio del nodo con il contenuto analizzato della stringa specificata.Otherwise, setting InnerXml replaces the child nodes, of the node, with the parsed contents of the given string. L'analisi viene eseguita nel contesto dello spazio dei nomi corrente.The parsing is done in the current namespace context.

Questa proprietà è un'estensione Microsoft di Document Object Model (DOM).This property is a Microsoft extension to the Document Object Model (DOM).

Nota

InnerXmlnon è un modo efficiente per modificare il DOM.InnerXml is not an efficient way to modify the DOM. Potrebbero verificarsi problemi di prestazioni durante la sostituzione di nodi complessi.There may be performance issues when replacing complex nodes. È più efficiente costruire nodi e usare InsertBeforemetodi come AppendChild, InsertAfter, e RemoveChild per modificare il documento XML.It is more efficient to construct nodes and use methods such as InsertBefore, InsertAfter, AppendChild, and RemoveChild to modify the Xml document.

Si applica a