Scopo
Aggiunge un nuovo nodo di tipo Element al nodo corrente (quello su cui è stato chiamato il metodo). Serve per aggiungere la descrizione di sub-entità figlie di quella corrente, ad esempio, dopo aver creato l'elemento TestataFattura si può utilizzare la procedura AddElement per aggiungere tutti i nodi che descrivono le RigheFattura.
Sintassi
XMLNode NuovoNodo := XMLNode.AddElement(Nome, Namespace)
Argomenti
Nome | E' una stringa che rappresenta il nome del nodo XML; tale nome verrà usato come tag del nodo nel file XML. |
Namespace | E' una stringa opzionale che rappresenta il namespace del nodo XML (parametro introdotto nella versione 19.5). |
Valore di ritorno
Viene ritornato il nuovo oggetto di tipo XMLNode aggiunto fra i figli del nodo chiamante. Tramite l'oggetto ritornato è poi possibile impostarne gli attributi e gli eventuali sotto-elementi.
Esempio di codice
// **********************
// Salvo il documento XML
// **********************
public void XMLDocument.SalvaFile()
{
XMLDocument XMLDoc = new() //
XMLNode RootNode = null //
MyXMLItem doc = null //
//
// Prendo il documento root dell'albero
doc := MyXMLItem.Cast(this.Root)
//
// Aggiungo il documento radice al documento XML
RootNode := XMLDoc.AddElement(item)
RootNode.SetAttribute(Nome, doc.Nome)
RootNode.SetAttribute(Descrizione, doc.Descrizione)
//
// Scrivo nel documento XML tutti i figli di primo livello
for each row (doc.ItemsFigli)
{
record MyItem
MyXMLItem MyItem //
XMLNode ChildNode = null //
//
ChildNode := RootNode.AddElement(item)
ChildNode.SetAttribute(Nome, MyItem.Nome)
ChildNode.SetAttribute(Descrizione, MyItem.Descrizione)
//
// Scrivo all'interno del tag XML la descrizione dell'oggetto corrente
ChildNode.SetTextNode(testo, MyItem.Descrizione)
}
//
// Salvo il documento XML
XMLDoc.Save(Path() +c C\ +c filexml.xml)
//
// Alla fine reimporto il file così da ricaricare il documento
this.ImportaFile()
}
// Salvo il documento XML
// **********************
public void XMLDocument.SalvaFile()
{
XMLDocument XMLDoc = new() //
XMLNode RootNode = null //
MyXMLItem doc = null //
//
// Prendo il documento root dell'albero
doc := MyXMLItem.Cast(this.Root)
//
// Aggiungo il documento radice al documento XML
RootNode := XMLDoc.AddElement(item)
RootNode.SetAttribute(Nome, doc.Nome)
RootNode.SetAttribute(Descrizione, doc.Descrizione)
//
// Scrivo nel documento XML tutti i figli di primo livello
for each row (doc.ItemsFigli)
{
record MyItem
MyXMLItem MyItem //
XMLNode ChildNode = null //
//
ChildNode := RootNode.AddElement(item)
ChildNode.SetAttribute(Nome, MyItem.Nome)
ChildNode.SetAttribute(Descrizione, MyItem.Descrizione)
//
// Scrivo all'interno del tag XML la descrizione dell'oggetto corrente
ChildNode.SetTextNode(testo, MyItem.Descrizione)
}
//
// Salvo il documento XML
XMLDoc.Save(Path() +c C\ +c filexml.xml)
//
// Alla fine reimporto il file così da ricaricare il documento
this.ImportaFile()
}
- Se viene specificato il Namespace il Nome deve iniziare con un prefisso (ad esempio "h:table").
- Il framework Document Orientation è in grado di salvare e caricare intere strutture documentali in formato XML. Per maggiori informazioni vedi SaveToXML e LoadFromXML. Se invece si desidera creare strutture XML staccate dalla definizione dei documenti in memoria, allora è necessario ricorrere all'uso di questa funzione.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680