Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método XPathNavigator.ReplaceSelf (String)

 

Publicado: octubre de 2016

Reemplaza el nodo actual por el contenido de la cadena especificada.

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

public virtual void ReplaceSelf(
	string newNode
)

Parámetros

newNode
Type: System.String

Cadena de datos XML del nuevo nodo.

Exception Condition
ArgumentNullException

El parámetro de cadena XML es null.

InvalidOperationException

XPathNavigator no está colocado en un nodo de elemento, texto, instrucción de procesamiento o comentario.

NotSupportedException

XPathNavigator no admite la edición.

XmlException

El parámetro de cadena XML no está bien formado.

The T:System.Xml.XPath.XPathNavigator is positioned on the new node on completion of the M:System.Xml.XPath.XPathNavigator.ReplaceSelf(System.String) method and returns true. The T:System.Xml.XPath.XPathNavigator is not positioned on the new node after completion of the M:System.Xml.XPath.XPathNavigator.ReplaceSelf(System.String) method when the XML input is F:System.String.Empty in which case the T:System.Xml.XPath.XPathNavigator is either positioned on the next sibling node or the parent node if there is no next sibling node to the replaced node and the M:System.Xml.XPath.XPathNavigator.ReplaceSelf(System.String) returns false.

  • The M:System.Xml.XPath.XPathNavigator.ReplaceSelf(System.String) method is valid only when the T:System.Xml.XPath.XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • If the XML data string is not well-formed than an exception is thrown and the result of this method is equivalent to calling M:System.Xml.XPath.XPathNavigator.DeleteSelf on the current node.

  • If the XML string contains multiple nodes, all nodes are added and the T:System.Xml.XPath.XPathNavigator is positioned on the first node in the series of nodes.

  • The M:System.Xml.XPath.XPathNavigator.ReplaceSelf(System.String) method is not equivalent to the M:System.Xml.XPath.XPathNavigator.DeleteSelf method.

In the following example the price element in the contosoBooks.xml file is replaced by a new pages element.

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");

navigator.ReplaceSelf("<pages>100</pages>");

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

The example takes the contosoBooks.xml file as an input.


<?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
Disponible desde 2.0
Silverlight
Disponible desde 4.0
Volver al principio
Mostrar: