English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • XML JSON

Load From XML

funzione copia link

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)

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)
  }
}
  • 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 / CrossLanguagetruefalse
    boolean-1/0True/False in C#
    true/false in Java e JS
    datetimeyyyy-mm-dd hh:nn:ssformato della sessione utente senza secondi
    timehh:nn:ssformato della sessione utente senza secondi
    dateyyyy-mm-ddformato della sessione utente
    DocIDGUIDDocID
    BLOBformato 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

Vedi Anche

  • Updated (proprietà)
  • Inserted (proprietà)
  • Deleted (proprietà)
  • Loaded (proprietà)
  • Save To XML (funzione)
  • Set Original (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum