Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XPathNavigator.ReplaceSelf (Método) (XmlReader)

Reemplaza el nodo actual por el contenido del objeto XmlReader especificado.

Espacio de nombres:  System.Xml.XPath
Ensamblado:  System.Xml (en System.Xml.dll)

public virtual void ReplaceSelf(
	XmlReader newNode
)

Parámetros

newNode
Tipo: System.Xml.XmlReader
Objeto XmlReader colocado en los datos XML del nuevo nodo.

ExcepciónCondición
ArgumentException

El objeto XmlReader está en un estado de error o cerrado.

ArgumentNullException

El parámetro del objeto XmlReader es null.

InvalidOperationException

XPathNavigator no se coloca en ningún elemento, ni en el texto, ni en una instrucción de procesamiento ni en un nodo de comentario.

NotSupportedException

El XPathNavigator no admite la edición.

XmlException

El contenido XML del parámetro de objeto XmlReader no tiene un formato correcto.

XPathNavigator se coloca en el nuevo nodo al completarse el método ReplaceSelf y devuelve true. XPathNavigator no se coloca en el nuevo nodo después de completarse el método ReplaceSelf si la entrada XML es Empty, en cuyo caso XPathNavigator se sitúa en el siguiente nodo relacionado o en el nodo primario si no hay ningún nodo relacionado que siga al nodo reemplazado y ReplaceSelf devuelve false.

  • El método ReplaceSelf sólo es válido cuando el XPathNavigator está situado en un elemento, texto, instrucción de procesamiento o nodo de comentario.

  • Si el formato de la cadena de datos XML no es correcto, se produce una excepción y el resultado de este método es equivalente a la llamada a DeleteSelf en el nodo actual.

  • Si la cadena XML contiene varios nodos, se agregarán todos y XPathNavigator se colocará en el primer nodo de la serie.

  • El método ReplaceSelf no es equivalente al método DeleteSelf.

En el ejemplo siguiente, el nuevo elemento pages reemplaza al elemento price en el archivo contosoBooks.xml.


XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.ReplaceSelf(pages);

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);


En el ejemplo, se toma el archivo contosoBooks.xml como entrada.


<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft