Condividi tramite


XPathNavigator.PrependChildElement(String, String, String, String) Metodo

Definizione

Crea un nuovo elemento figlio all'inizio dell'elenco di nodi figlio del nodo corrente usando il prefisso dello spazio dei nomi, il nome locale e l'URI dello spazio dei nomi specificati con il valore specificato.

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)

Parametri

prefix
String

Prefisso dello spazio dei nomi del nuovo elemento figlio, se presente.

localName
String

Nome locale del nuovo elemento figlio, se presente.

namespaceURI
String

URI dello spazio dei nomi del nuovo elemento figlio, se presente. Empty e null si equivalgono.

value
String

Valore del nuovo elemento figlio. Se viene passato Empty o null, viene creato un elemento vuoto.

Eccezioni

Il nodo corrente su cui è posizionato l'oggetto XPathNavigator non consente l'anteposizione di un nuovo nodo figlio.

XPathNavigator non supporta la modifica.

Esempio

Nell'esempio seguente viene anteporto un nuovo pages elemento figlio all'inizio dell'elenco di elementi figlio del primo book elemento nel contosoBooks.xml file.

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)

Nell'esempio il file contosoBooks.xml viene considerato come 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>  

Commenti

In attesa di un nodo figlio, il nuovo nodo viene aggiunto all'inizio dell'elenco di nodi figlio per il nodo corrente. Ad esempio, quando esistono tre nodi figlio per un elemento, il nodo anteporto diventa il primo nodo figlio. Se non esistono nodi figlio, viene creato un nuovo nodo figlio.

I valori di prefisso e URI dello spazio dei nomi possono essere ottenuti usando il LookupPrefix metodo o LookupNamespace . Ad esempio, la sintassi seguente antepone un elemento figlio usando lo spazio dei nomi xmlns:bk="http://www.contoso.com/books"nell'ambito :

navigator.PrependChildElement(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

In questo modo viene creato il nuovo elemento figlio <bk:pages/> .

Di seguito sono riportate note importanti da considerare quando si usa il PrependChildElement metodo .

  • Se il prefisso dello spazio dei nomi specificato è null o String.Empty, il prefisso per l'URI dello spazio dei nomi del nuovo elemento viene ottenuto dagli spazi dei nomi correnti nell'ambito. Se non è presente alcun prefisso dello spazio dei nomi assegnato all'URI dello spazio dei nomi specificato nell'ambito corrente, viene generato automaticamente un prefisso dello spazio dei nomi.

  • Il PrependChildElement metodo è valido solo quando l'oggetto XPathNavigator è posizionato in un nodo elemento.

  • Il PrependChildElement metodo non influisce sulla posizione dell'oggetto XPathNavigator.

Si applica a