Scopo
Questa funzione carica il documento e le sue collection da un file o stringa XML o JSON, eventualmente ripristinando gli stati del documento e il valore originale delle proprietà.
Sintassi
boolean loaded = 0 // documento caricato correttamente da XML o JSON?
//
loaded := Documento.loadFromXML(file o stringa, carica da file, format, cross language)
//
loaded := Documento.loadFromXML(file o stringa, carica da file, format, cross language)
Argomenti
File o Stringa | Parametro stringa il cui significato dipende dal parametro CaricaDaFile. Se il parametro CaricaDaFile è True questo parametro deve contenere il percorso del file XML o JSON da cui occorre caricare il documento. Se il parametro CaricaDaFile è False questo parametro contiene il testo XML o JSON da cui occorre caricare il documento. |
Carica da File | Parametro opzionale booleano che indica al sistema da dove reperire la stringa da caricare. Se vale True allora il parametro FileOStringa deve contenere un percorso, se vale False il parametro FileOStringa deve contenere il testo. Il valore predefinito, se non specificato, è True. |
Formato | Formato da cui importare: XML o JSON (parametro introdotto nella versione 13.0). |
Cross Language | È un parametro booleano opzionale che indica se deve essere attivata la modalità di compatibilità del formato tra C#, Java e JavaScript (parametro introdotto nella versione 13.0). |
Valore di ritorno
Viene ritornato True se il caricamento da XML o JSON ha avuto successo, altrimenti False.
Esempio di codice
// ****************************************************************************
// Carica il documento in alto a partire dal testo contenuto nel campo in basso
// ****************************************************************************
public void CategorieDO.CaricadaXML()
{
Categorie cat = null //
//
cat := Categorie.Document
if cat.LoadFromXML(XML.Testo, False)
{
EsempiLB.MessageBox(MSG Documento Caricato)
}
else
{
EsempiLB.MessageBox(MSG Impossibile Caricare Documento)
}
}
// Carica il documento in alto a partire dal testo contenuto nel campo in basso
// ****************************************************************************
public void CategorieDO.CaricadaXML()
{
Categorie cat = null //
//
cat := Categorie.Document
if cat.LoadFromXML(XML.Testo, False)
{
EsempiLB.MessageBox(MSG Documento Caricato)
}
else
{
EsempiLB.MessageBox(MSG Impossibile Caricare Documento)
}
}
- N.B.: Il sistema utilizza il Nome senza spazi per la classe ed il Codice per le proprietà.
- Il parametro CrossLanguage determina il formato dei dati atteso come riportato nella tabella seguente:
Tipo di dato / CrossLanguage true false boolean -1/0 True/False in C#
true/false in Java e JSdatetime yyyy-mm-dd hh:nn:ss formato della sessione utente senza secondi time hh:nn:ss formato della sessione utente senza secondi date yyyy-mm-dd formato della sessione utente DocID GUID DocID BLOB formato web
(es. data:image/png;base64,...)base64 -
Il formato del documento XML fornito alla funzione (sia direttamente sia tramite lettura da file) deve essere uno dei due mostrati di seguito. Il sistema è in grado di caricare il documento a partire da entrambi i formati.
<NomeClasse do_updated="False" do_inserted="False" do_deleted="False" do_loaded="True" Prop1=ValoreProp1 Prop1_O=ValoreOriginaleProp1 Prop2=ValoreProp2 Prop2_O=ValoreOriginaleProp2 Prop3=ValoreProp3 Prop3_O=ValoreOriginaleProp3 ... > <ClasseFiglia1 do_updated=... /> <ClasseFiglia2 do_updated=... /> <NomeClasse/> <NomeClasse do_updated="False" do_inserted="False" do_deleted="False" do_loaded="True"> <Prop1>ValoreProp1</Prop1> <Prop1_O>ValoreOriginaleProp1</Prop1_O> <Prop2>ValoreProp2</Prop2> <Prop2_O>ValoreOriginaleProp2</Prop2_O> <Prop3>ValoreProp3</Prop3> <Prop3_O>ValoreOriginaleProp3</Prop3_O> ... <ClasseFiglia1 do_updated=... > <...> </ClasseFiglia1> <ClasseFiglia2 do_updated=... > <...> </ClasseFiglia2> </NomeClasse>
dove:- NomeClasse indica il nome della classe la cui istanza deve essere caricata da XML;
- gli attributi (do_updated, do_inserted, do_deleted e do_loaded) indicano al sistema lo stato del documento ed il loro valore, dopo la lettura, viene copiato nelle corrispondenti proprietà Updated, Inserted, Deleted e Loaded;
- Prop1, Prop2, ... indicano il codice delle proprietà del documento;
- ValoreProp1, ValoreProp2, ... sono i valori correnti delle proprietà del documento;
- PropN_O e ValorePropN_O rappresentano il valore originale della proprietà del documento (vedere SetOriginal per maggiorni informazioni).
- ClasseFiglia1, ClasseFiglia2 rappresentano i nomi (senza spazi) di eventuali classi figlie, contenute nelle collection del documento.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680