Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
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.ReplaceRange (Método)

Reemplaza un intervalo de nodos relacionados desde el nodo actual hasta al nodo especificado.

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

public virtual XmlWriter ReplaceRange(
	XPathNavigator lastSiblingToReplace
)

Parámetros

lastSiblingToReplace
Tipo: System.Xml.XPath.XPathNavigator
XPathNavigator situado en el último nodo relacionado del intervalo que se va a reemplazar.

Valor devuelto

Tipo: System.Xml.XmlWriter
Objeto XmlWriter que se utiliza para especificar el intervalo de reemplazo.

ExcepciónCondición
ArgumentNullException

El objeto XPathNavigator especificado es null.

NotSupportedException

El XPathNavigator no admite la edición.

InvalidOperationException

El último nodo especificado que se va a reemplazar no es un nodo relacionado válido del nodo actual.

El método ReplaceRange reemplaza un intervalo de nodos relacionados desde el nodo en que XPathNavigator está situado actualmente hasta el nodo que especifique el parámetro XPathNavigator (ambos inclusive).

NotaNota

El intervalo de reemplazo no se inserta hasta que se produce la llamada al método Close del objeto XmlWriter.

En el ejemplo siguiente, el primer y segundo elementos book del archivo contosoBooks.xml se reemplazan por un nuevo elemento book vacío mediante el método ReplaceRange.


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

XmlNamespaceManager manager = new XmlNamespaceManager(document.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");

XPathNavigator first = navigator.SelectSingleNode("/bk:bookstore/bk:book[1]", manager);
XPathNavigator last = navigator.SelectSingleNode("/bk:bookstore/bk:book[2]", manager);

navigator.MoveTo(first);
XmlWriter newRange = navigator.ReplaceRange(last);
newRange.WriteStartElement("book");
newRange.WriteAttributeString("genre", "");
newRange.WriteAttributeString("publicationdate", "2005-04-07");
newRange.WriteAttributeString("ISBN", "0");
newRange.WriteStartElement("title");
newRange.WriteString("New Book");
newRange.WriteEndElement();
newRange.WriteStartElement("author");
newRange.WriteStartElement("first-name");
newRange.WriteString("First Name");
newRange.WriteEndElement();
newRange.WriteStartElement("last-name");
newRange.WriteString("Last Name");
newRange.WriteEndElement();
newRange.WriteEndElement();
newRange.WriteElementString("price", "$0.00");
newRange.WriteEndElement();
newRange.Close();
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:
© 2015 Microsoft