XPathNavigator.AppendChildElement(String, String, String, String) Metodo

Definizione

Crea un nuovo nodo elemento figlio alla fine dell'elenco dei 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 AppendChildElement(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void AppendChildElement (string prefix, string localName, string namespaceURI, string value);
public virtual void AppendChildElement (string? prefix, string localName, string? namespaceURI, string? value);
abstract member AppendChildElement : string * string * string * string -> unit
override this.AppendChildElement : string * string * string * string -> unit
Public Overridable Sub AppendChildElement (prefix As String, localName As String, namespaceURI As String, value As String)

Parametri

prefix
String

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

localName
String

Nome locale del nuovo nodo elemento figlio, se presente.

namespaceURI
String

URI dello spazio dei nomi del nuovo nodo elemento figlio, se presente. Empty e null sono equivalenti.

value
String

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

Eccezioni

Il nodo corrente su cui è posizionato XPathNavigator non è il nodo radice o un nodo elemento.

XPathNavigator non supporta la modifica.

Esempio

Nell'esempio seguente, viene aggiunto un nuovo elemento figlio pages all'elenco degli elementi figlio del primo elemento book nel file 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->AppendChildElement(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.AppendChildElement(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.AppendChildElement(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

L'aggiunta di un nodo figlio aggiunge il nuovo nodo alla fine dell'elenco di nodi figlio per il nodo corrente. Ad esempio, quando esistono tre nodi figlio per un nodo di elemento, il nodo accodato diventa il quarto 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 metodo o il LookupPrefixLookupNamespace metodo . Ad esempio, la sintassi seguente aggiunge un elemento figlio usando lo spazio dei nomi xmlns:bk=http://www.contoso.com/booksnell'ambito :

navigator.AppendChildElement(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 AppendChildElement 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 esiste 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 AppendChildElement metodo è valido solo quando l'oggetto XPathNavigator viene posizionato nel nodo radice o in un nodo di elemento.

  • Il AppendChildElement metodo non influisce sulla posizione di XPathNavigator.

Si applica a