XPathNavigator.InsertBefore Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un nuevo nodo relacionado delante del nodo actualmente seleccionado.
Sobrecargas
InsertBefore() |
Devuelve un objeto XmlWriter utilizado para crear un nuevo nodo relacionado delante el nodo seleccionado actualmente. |
InsertBefore(String) |
Crea un nuevo nodo relacionado delante del nodo seleccionado actualmente usando la cadena XML especificada. |
InsertBefore(XmlReader) |
Crea un nuevo nodo relacionado antes del nodo actualmente seleccionado usando el contenido XML del objeto XmlReader especificado. |
InsertBefore(XPathNavigator) |
Crea un nuevo nodo relacionado antes del nodo actualmente seleccionado mediante los nodos del XPathNavigator especificado. |
InsertBefore()
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Devuelve un objeto XmlWriter utilizado para crear un nuevo nodo relacionado delante el nodo seleccionado actualmente.
public:
virtual System::Xml::XmlWriter ^ InsertBefore();
public virtual System.Xml.XmlWriter InsertBefore ();
abstract member InsertBefore : unit -> System.Xml.XmlWriter
override this.InsertBefore : unit -> System.Xml.XmlWriter
Public Overridable Function InsertBefore () As XmlWriter
Devoluciones
Objeto XmlWriter usado para crear un nuevo nodo relacionado antes del nodo seleccionado actualmente.
Excepciones
La posición de XPathNavigator no permite insertar un nuevo nodo relacionado antes del nodo actual.
XPathNavigator no admite la edición.
Ejemplos
En el ejemplo siguiente, se inserta un nuevo pages
elemento antes del price
elemento secundario del primer book
elemento del contosoBooks.xml
archivo mediante el XmlWriter objeto devuelto por el InsertBefore método .
XmlDocument^ document = gcnew 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");
XmlWriter^ pages = navigator->InsertBefore();
pages->WriteElementString("pages", "100");
pages->Close();
navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
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");
XmlWriter pages = navigator.InsertBefore();
pages.WriteElementString("pages", "100");
pages.Close();
navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = 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")
Dim pages As XmlWriter = navigator.InsertBefore()
pages.WriteElementString("pages", "100")
pages.Close()
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
En el ejemplo se toma como entrada el archivo contosoBooks.xml
.
<?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>
Comentarios
A continuación se muestran notas importantes que se deben tener en cuenta al usar el InsertBefore método .
El nuevo nodo relacionado no se inserta hasta que se llama al Close método del XmlWriter objeto .
El InsertBefore método solo es válido cuando XPathNavigator se coloca en un elemento, texto, instrucción de procesamiento o nodo de comentario.
El InsertBefore método no afecta a la posición de XPathNavigator.
Se aplica a
InsertBefore(String)
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Crea un nuevo nodo relacionado delante del nodo seleccionado actualmente usando la cadena XML especificada.
public:
virtual void InsertBefore(System::String ^ newSibling);
public virtual void InsertBefore (string newSibling);
abstract member InsertBefore : string -> unit
override this.InsertBefore : string -> unit
Public Overridable Sub InsertBefore (newSibling As String)
Parámetros
- newSibling
- String
Cadena de datos XML del nuevo nodo relacionado.
Excepciones
El parámetro de cadena XML es null
.
La posición de XPathNavigator no permite insertar un nuevo nodo relacionado antes del nodo actual.
XPathNavigator no admite la edición.
El parámetro de cadena XML no está bien formado.
Ejemplos
En el siguiente ejemplo, se inserta un elemento pages
nuevo antes del elemento secundario price
del primer elemento book
en el archivo contosoBooks.xml
.
XmlDocument^ document = gcnew 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->InsertBefore("<pages>100</pages>");
navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
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.InsertBefore("<pages>100</pages>");
navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = 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.InsertBefore("<pages>100</pages>")
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
En el ejemplo se toma como entrada el archivo contosoBooks.xml
.
<?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>
Comentarios
Para crear un nuevo nodo de elemento, incluya toda la sintaxis XML en el parámetro de cadena XML. La cadena de un nuevo book
nodo es InsertBefore("<book/>")
. Cadena para insertar el texto "book" antes de que el nodo de texto del nodo actual sea InsertBefore("book")
. Si la cadena XML contiene varios nodos, se agregan todos los nodos.
A continuación se muestran notas importantes que se deben tener en cuenta al usar el InsertBefore método .
El InsertBefore método solo es válido cuando XPathNavigator se coloca en un elemento, texto, instrucción de procesamiento o nodo de comentario.
El InsertBefore método no afecta a la posición de XPathNavigator.
Se aplica a
InsertBefore(XmlReader)
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Crea un nuevo nodo relacionado antes del nodo actualmente seleccionado usando el contenido XML del objeto XmlReader especificado.
public:
virtual void InsertBefore(System::Xml::XmlReader ^ newSibling);
public virtual void InsertBefore (System.Xml.XmlReader newSibling);
abstract member InsertBefore : System.Xml.XmlReader -> unit
override this.InsertBefore : System.Xml.XmlReader -> unit
Public Overridable Sub InsertBefore (newSibling As XmlReader)
Parámetros
Excepciones
El objeto XmlReader está en un estado de error o cerrado.
El parámetro del objeto XmlReader es null
.
La posición de XPathNavigator no permite insertar un nuevo nodo relacionado antes del nodo actual.
XPathNavigator no admite la edición.
El contenido XML del parámetro de objeto XmlReader no está bien formado.
Ejemplos
En el ejemplo siguiente, se inserta un nuevo pages
elemento antes del price
elemento secundario del primer book
elemento del contosoBooks.xml
archivo mediante el XmlReader objeto especificado. El http://www.contoso.com/books
espacio de nombres se especifica para que el nuevo elemento relacionado se inserte con el mismo espacio de nombres que el documento XML.
XmlDocument^ document = gcnew 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(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
navigator->InsertBefore(pages);
navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
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.InsertBefore(pages);
navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = 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")
Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
navigator.InsertBefore(pages)
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
En el ejemplo se toma como entrada el archivo contosoBooks.xml
.
<?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>
Comentarios
A continuación se muestran notas importantes que se deben tener en cuenta al usar el InsertBefore método .
Si el XmlReader objeto se coloca en una secuencia de nodos XML, se agregan todos los nodos de la secuencia.
El InsertBefore método solo es válido cuando XPathNavigator se coloca en un elemento, texto, instrucción de procesamiento o nodo de comentario.
El InsertBefore método no afecta a la posición de XPathNavigator.
Se aplica a
InsertBefore(XPathNavigator)
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Crea un nuevo nodo relacionado antes del nodo actualmente seleccionado mediante los nodos del XPathNavigator especificado.
public:
virtual void InsertBefore(System::Xml::XPath::XPathNavigator ^ newSibling);
public virtual void InsertBefore (System.Xml.XPath.XPathNavigator newSibling);
abstract member InsertBefore : System.Xml.XPath.XPathNavigator -> unit
override this.InsertBefore : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub InsertBefore (newSibling As XPathNavigator)
Parámetros
- newSibling
- XPathNavigator
Objeto XPathNavigator colocado en el nodo que se va a agregar como nuevo nodo secundario.
Excepciones
El parámetro del objeto XPathNavigator es null
.
La posición de XPathNavigator no permite insertar un nuevo nodo relacionado antes del nodo actual.
XPathNavigator no admite la edición.
Ejemplos
En el ejemplo siguiente, se inserta un nuevo pages
elemento antes del price
elemento secundario del primer book
elemento del contosoBooks.xml
archivo mediante el nodo contenido en el XPathNavigator objeto especificado. El http://www.contoso.com/books
espacio de nombres se especifica para que el nuevo elemento relacionado se inserte con el mismo espacio de nombres que el documento XML.
XmlDocument^ document = gcnew 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");
XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();
navigator->InsertBefore(childNodesNavigator);
navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
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");
XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();
navigator.InsertBefore(childNodesNavigator);
navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = 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")
Dim childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()
navigator.InsertBefore(childNodesNavigator)
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
En el ejemplo se toma como entrada el archivo contosoBooks.xml
.
<?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>
Comentarios
A continuación se muestran notas importantes que se deben tener en cuenta al usar el InsertBefore método .
Si el XPathNavigator objeto se coloca en una secuencia de nodos XML, se agregan todos los nodos de la secuencia.
El InsertBefore método solo es válido cuando XPathNavigator se coloca en un elemento, texto, instrucción de procesamiento o nodo de comentario.
El InsertBefore método no afecta a la posición de XPathNavigator.