XmlNode.InnerXml Propiedad

Definición

Obtiene o establece el marcado que representa solo los nodos secundarios de este nodo.

C#
public virtual string InnerXml { get; set; }

Valor de propiedad

String

Marcado de los nodos secundarios de este nodo, no incluidos los atributos predeterminados.

Excepciones

Establecer esta propiedad en un nodo que no puede tener secundarios.

El código XML especificado al establecer esta propiedad no es correcto.

Ejemplos

En el ejemplo siguiente se comparan las InnerText propiedades y InnerXml .

C#
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 );
  }
}

Comentarios

Al intentar establecer esta propiedad desde un nodo que no puede tener nodos secundarios, por ejemplo, un nodo Texto, produce una excepción. De lo contrario, la configuración InnerXml reemplaza los nodos secundarios del nodo por el contenido analizado de la cadena especificada. El análisis se realiza en el contexto del espacio de nombres actual.

Esta propiedad es una extensión de Microsoft para Document Object Model (DOM).

Nota

InnerXml no es una manera eficaz de modificar el DOM. Puede haber problemas de rendimiento al reemplazar nodos complejos. Es más eficaz construir nodos y usar métodos como InsertBefore, InsertAfter, AppendChildy RemoveChild para modificar el documento Xml.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0