XPathNavigator.PrependChildElement(String, String, String, String) 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 de elemento secundario al principio de la lista de nodos secundarios del nodo actual mediante el prefijo de espacio de nombres, el nombre local y el URI de espacio de nombres especificados con el valor seleccionado.
public:
virtual void PrependChildElement(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void PrependChildElement (string prefix, string localName, string namespaceURI, string value);
public virtual void PrependChildElement (string? prefix, string localName, string? namespaceURI, string? value);
abstract member PrependChildElement : string * string * string * string -> unit
override this.PrependChildElement : string * string * string * string -> unit
Public Overridable Sub PrependChildElement (prefix As String, localName As String, namespaceURI As String, value As String)
Parámetros
- prefix
- String
Prefijo del espacio de nombres del nuevo elemento secundario (si lo hay).
- localName
- String
Nombre local del nuevo elemento secundario (si lo hay).
- namespaceURI
- String
Identificador URI de espacio de nombres del nuevo elemento secundario (si lo hay).
Empty y null
son equivalentes.
- value
- String
Valor del nuevo elemento secundario. Si se pasan Empty o null
, se crea un elemento vacío.
Excepciones
El nodo actual en el que se coloca el XPathNavigator no permite anteponer un nuevo nodo secundario.
XPathNavigator no admite la edición.
Ejemplos
En el ejemplo siguiente, se antepone un nuevo pages
elemento secundario al principio de la lista de elementos secundarios del primer book
elemento del contosoBooks.xml
archivo.
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->PrependChildElement(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");
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.PrependChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");
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.PrependChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")
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
Prepending a child node agrega el nuevo nodo al principio de la lista de nodos secundarios para el nodo actual. Por ejemplo, cuando existen tres nodos secundarios para un elemento, el nodo antepuesto se convierte en el primer nodo secundario. Si no existe ningún nodo secundario, se crea un nuevo nodo secundario.
Los valores de prefijo y URI del espacio de nombres se pueden obtener mediante el LookupPrefix método o LookupNamespace . Por ejemplo, la sintaxis siguiente antepone un elemento secundario mediante el espacio de nombres xmlns:bk="http://www.contoso.com/books"
en el ámbito :
navigator.PrependChildElement(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Esto crea el nuevo elemento secundario <bk:pages/>
.
A continuación se muestran notas importantes que se deben tener en cuenta al usar el PrependChildElement método .
Si el prefijo de espacio de nombres especificado es
null
o String.Empty, el prefijo para el URI de espacio de nombres del nuevo elemento se obtiene de los espacios de nombres actuales en el ámbito. Si no hay ningún prefijo de espacio de nombres asignado al URI de espacio de nombres especificado en el ámbito actual, se genera automáticamente un prefijo de espacio de nombres.El PrependChildElement método solo es válido cuando XPathNavigator se coloca en un nodo de elemento.
El PrependChildElement método no afecta a la posición de XPathNavigator.