Scopo
Questa procedura rimuove uno dei nodi figli del nodo.
Sintassi
XMLNode.removeNode(XMLNode)
Argomenti
XMLNode | Nodo XML da rimuovere. Deve essere uno dei nodi figli del nodo attuale. |
Esempio di codice
// *********************************************************
// Explain which processing is carried out by this procedure
// *********************************************************
public void XMLDocument.Importa0(
XMLNode Sorgente // Nodo XML da cui leggere
MyXMLItem Padre // INDE Item in cui inserire i figli
optional boolean loop = 0 // Vero per resettare ad ogni ciclo il nodo XM...
)
{
// Se devo trovare un loop fermo il debug a 10 iterazioni
if (loop)
...
//
// Nascondo i messaggi di debug predefiniti, in questo modo mostro solamente
// quelli manualmente specificati nel codice di questa procedura.
EsempiGL.DTTHideMessage(999)
//
// Finché trovo degli oggetti contenuti nella sorgente aggiungo figli
// all'oggetto padre
while (Sorgente.hasNextNode())
{
MyXMLItem NuovoOggetto = new() //
XMLNode Nodo = null //
//
Nodo = Sorgente.getNextNode()
//
// Scrivo nel debug da descrizione del codice XML che sto leggendo
EsempiGL.DTTLogMessage(Nodo.toString(), ...)
//
// Scrivo nel debug il testo contenuto nel nodo XML
EsempiGL.DTTLogMessage(Nodo.saveToString(), ...)
//
// Se sto leggendo un oggetto di tipo item
if (Nodo.name() = "item" and Nodo.isElement())
{
this.ScriviDebugStruttura(Nodo)
//
NuovoOggetto.Nome = Nodo.getAttribute("Nome")
NuovoOggetto.Descrizione = Nodo.getAttribute("Descrizione")
Padre.ItemsFigli.add(NuovoOggetto)
}
//
// Se sto leggendo un oggetto di tipo deleteMe ... lo cancello!
if (Nodo.name() = "deleteMe" and Nodo.isElement())
{
Sorgente.removeNode(Nodo)
//
XMLString.Log = XMLString.Log + "Rimosso nodo deleteMe \n"
}
//
// Se è un nodo di tipo commento lo scrivo nel debug
if (Nodo.type() = 8)
...
}
Padre.loaded = true
Padre.ItemsFigli.loaded = true
}
// Explain which processing is carried out by this procedure
// *********************************************************
public void XMLDocument.Importa0(
XMLNode Sorgente // Nodo XML da cui leggere
MyXMLItem Padre // INDE Item in cui inserire i figli
optional boolean loop = 0 // Vero per resettare ad ogni ciclo il nodo XM...
)
{
// Se devo trovare un loop fermo il debug a 10 iterazioni
if (loop)
...
//
// Nascondo i messaggi di debug predefiniti, in questo modo mostro solamente
// quelli manualmente specificati nel codice di questa procedura.
EsempiGL.DTTHideMessage(999)
//
// Finché trovo degli oggetti contenuti nella sorgente aggiungo figli
// all'oggetto padre
while (Sorgente.hasNextNode())
{
MyXMLItem NuovoOggetto = new() //
XMLNode Nodo = null //
//
Nodo = Sorgente.getNextNode()
//
// Scrivo nel debug da descrizione del codice XML che sto leggendo
EsempiGL.DTTLogMessage(Nodo.toString(), ...)
//
// Scrivo nel debug il testo contenuto nel nodo XML
EsempiGL.DTTLogMessage(Nodo.saveToString(), ...)
//
// Se sto leggendo un oggetto di tipo item
if (Nodo.name() = "item" and Nodo.isElement())
{
this.ScriviDebugStruttura(Nodo)
//
NuovoOggetto.Nome = Nodo.getAttribute("Nome")
NuovoOggetto.Descrizione = Nodo.getAttribute("Descrizione")
Padre.ItemsFigli.add(NuovoOggetto)
}
//
// Se sto leggendo un oggetto di tipo deleteMe ... lo cancello!
if (Nodo.name() = "deleteMe" and Nodo.isElement())
{
Sorgente.removeNode(Nodo)
//
XMLString.Log = XMLString.Log + "Rimosso nodo deleteMe \n"
}
//
// Se è un nodo di tipo commento lo scrivo nel debug
if (Nodo.type() = 8)
...
}
Padre.loaded = true
Padre.ItemsFigli.loaded = true
}
- Se il nodo passato come parametro non è uno dei figli del nodo viene lanciata un'eccezione.
Ultima modifica: 23/03/2021 / Validità: da 6.7.2900