Condividi tramite


XPathNavigator.AppendChild Metodo

Definizione

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente.

Overload

AppendChild()

Restituisce un oggetto XmlWriter utilizzato per creare uno o più nodi figlio nuovi alla fine dell'elenco dei nodi figlio del nodo corrente.

AppendChild(String)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando la stringa di dati XML specificata.

AppendChild(XmlReader)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando il contenuto XML dell'oggetto XmlReader specificato.

AppendChild(XPathNavigator)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando i nodi nella classe XPathNavigator specificata.

AppendChild()

Restituisce un oggetto XmlWriter utilizzato per creare uno o più nodi figlio nuovi alla fine dell'elenco dei nodi figlio del nodo corrente.

public:
 virtual System::Xml::XmlWriter ^ AppendChild();
public virtual System.Xml.XmlWriter AppendChild ();
abstract member AppendChild : unit -> System.Xml.XmlWriter
override this.AppendChild : unit -> System.Xml.XmlWriter
Public Overridable Function AppendChild () As XmlWriter

Restituisce

XmlWriter

Oggetto XmlWriter usato per creare nuovi nodi figlio alla fine dell'elenco dei nodi figlio del nodo corrente.

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 pages elemento figlio all'elenco degli elementi figlio del primo book elemento del contosoBooks.xml file usando l'oggetto XmlWriter restituito dal AppendChild metodo .

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

    XmlWriter^ pages = navigator->AppendChild();
    pages->WriteElementString("pages", "100");
    pages->Close();

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

XmlWriter pages = navigator.AppendChild();
pages.WriteElementString("pages", "100");
pages.Close();

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

Dim pages As XmlWriter = navigator.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

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 dei nodi figlio aggiunge i nuovi nodi alla fine dell'elenco di nodi figlio per il nodo corrente. Ad esempio, quando esistono tre nodi figlio per un elemento, il primo nodo aggiunto diventa il quarto nodo figlio. Se non esistono nodi figlio, viene creato un nuovo nodo figlio.

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

È possibile scrivere più di un nodo nel writer. Tutti i nodi vengono aggiunti alla fine dell'elenco di nodi figlio del nodo corrente.

Si applica a

AppendChild(String)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando la stringa di dati XML specificata.

public:
 virtual void AppendChild(System::String ^ newChild);
public virtual void AppendChild (string newChild);
abstract member AppendChild : string -> unit
override this.AppendChild : string -> unit
Public Overridable Sub AppendChild (newChild As String)

Parametri

newChild
String

Stringa di dati XML per il nuovo nodo figlio.

Eccezioni

Il parametro della stringa di dati XML è null.

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

XPathNavigator non supporta la modifica.

Il formato del parametro della stringa di dati XML non è corretto.

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->AppendChild("<pages>100</pages>");

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.AppendChild("<pages>100</pages>");

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.AppendChild("<pages>100</pages>")

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 elemento, il nodo accodato diventa il quarto nodo figlio. Se non esistono nodi figlio, viene creato un nuovo nodo figlio.

Per creare un nuovo nodo di elemento, includere tutte le sintassi XML nel parametro stringa XML. La stringa per un nuovo book nodo è AppendChild("<book/>"). La stringa per aggiungere il testo "book" al nodo di testo del nodo corrente è AppendChild("book"). Se la stringa XML contiene più nodi, vengono aggiunti tutti i nodi.

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

Si applica a

AppendChild(XmlReader)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando il contenuto XML dell'oggetto XmlReader specificato.

public:
 virtual void AppendChild(System::Xml::XmlReader ^ newChild);
public virtual void AppendChild (System.Xml.XmlReader newChild);
abstract member AppendChild : System.Xml.XmlReader -> unit
override this.AppendChild : System.Xml.XmlReader -> unit
Public Overridable Sub AppendChild (newChild As XmlReader)

Parametri

newChild
XmlReader

Oggetto XmlReader posizionato in corrispondenza dei dati XML per il nuovo nodo figlio.

Eccezioni

L'oggetto XmlReader si trova in uno stato di errore oppure è chiuso.

Il parametro dell'oggetto XmlReader è null.

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

XPathNavigator non supporta la modifica.

Il formato del contenuto XML del parametro dell'oggetto XmlReader non è corretto.

Esempio

Nell'esempio seguente viene aggiunto un nuovo pages elemento figlio all'elenco degli elementi figlio del primo book elemento del contosoBooks.xml file usando l'oggetto XmlReader specificato. Lo http://www.contoso.com/books spazio dei nomi viene specificato in modo che il nuovo elemento figlio venga aggiunto usando lo stesso spazio dei nomi del 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");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->AppendChild(pages);

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

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.AppendChild(pages);

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

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.AppendChild(pages)

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 elemento, il nodo accodato diventa il quarto nodo figlio. Se non esistono nodi figlio, viene creato un nuovo nodo figlio.

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

  • Se l'oggetto XmlReader viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.

  • Il AppendChild metodo è valido solo quando l'oggetto XPathNavigator viene posizionato nel nodo radice o in un nodo di elemento.

  • Il AppendChild metodo non influisce sulla posizione di XPathNavigator.

Si applica a

AppendChild(XPathNavigator)

Crea un nuovo nodo figlio alla fine dell'elenco dei nodi figlio del nodo corrente usando i nodi nella classe XPathNavigator specificata.

public:
 virtual void AppendChild(System::Xml::XPath::XPathNavigator ^ newChild);
public virtual void AppendChild (System.Xml.XPath.XPathNavigator newChild);
abstract member AppendChild : System.Xml.XPath.XPathNavigator -> unit
override this.AppendChild : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub AppendChild (newChild As XPathNavigator)

Parametri

newChild
XPathNavigator

Oggetto XPathNavigator posizionato in corrispondenza del nodo da aggiungere come nuovo nodo figlio.

Eccezioni

Il parametro dell'oggetto XPathNavigator è null.

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 pages elemento figlio all'elenco degli elementi figlio del primo book elemento del contosoBooks.xml file usando il nodo contenuto nell'oggetto XPathNavigator specificato. Lo http://www.contoso.com/books spazio dei nomi viene specificato in modo che il nuovo elemento figlio venga aggiunto usando lo stesso spazio dei nomi del 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");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();


if (childNodesNavigator->MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator->AppendChild(childNodesNavigator);
}

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

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator.AppendChild(childNodesNavigator);
}

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

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()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

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 elemento, il nodo accodato diventa il quarto nodo figlio. Se non esistono nodi figlio, viene creato un nuovo nodo figlio.

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

  • Se l'oggetto XPathNavigator viene posizionato su una sequenza di nodi XML, vengono aggiunti tutti i nodi della sequenza.

  • Il AppendChild metodo è valido solo quando l'oggetto XPathNavigator viene posizionato nel nodo radice o in un nodo di elemento.

  • Il AppendChild metodo non influisce sulla posizione di XPathNavigator.

Si applica a