READXMLDOCUMENT
La specifica legge un file XML e popola la classe BC_XML_DOCUMENT con la struttura del file.
E' obbligatorio indicare l'attributo DOCUMENT. Gli attributi FILE, BLOB e TESTO sono mutuamente esclusivi ma uno dei due è obbligatorio.
Sono gestite le seguenti casistiche:
- Parametro BlobXml vuoto: non viene riportato nessun errore ed il parametro OggettoXmlDocument è restituito vuoto
- Parametro FileXml indica un file che non esiste: errore 5017
- Parametro FileXml indica un file che esiste ma è vuoto:
- Fino alla versione 27.0: viene fornito un errore a video a cui segue l'interruzione dell'esecuzione
- Dalla versione 27.1: errore 22087
- Parametro FileXml indica un file che esiste, non è vuoto ma è mal formattato: errore 22086
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| DOCUMENT | Classe | ||||
| BLOB | Blob | ||||
| FILE | Stringa | ||||
| TESTO | Stringa | 30.7 | |||
| ERRORE | Intero | ||||
| IGNORACARATTERINONVALIDI | Intero | 29.3 |
DOCUMENT
Oggetto di tipo BC_XML_DOCUMENT da popolare.
OggettoXmlDocument: variabile di tipo CLASSE BC_XML_DOCUMENT.
BLOB
Blob contenente l'XML da leggere.
L'ambiente si aspetta che il contenuto della variabile sia codificato in OEM, ovvero la classica codifica delle variabili BC.
BlobXml: Variabile di tipo Blob.
L'utilizzo del parametro esclude l'utilizzo dei parametri: FILE, TESTO
FILE
Percorso completo del file da leggere.
FileRisultato: può essere una costante o una variabile di tipo alfanumerico.
L'utilizzo del parametro esclude l'utilizzo dei parametri: BLOB, TESTO
TESTO
Stringa contenente l'XML da leggere.
L'ambiente si aspetta che il contenuto della variabile sia codificato in OEM, ovvero la classica codifica delle variabili BC.
TestoXml: Variabile di tipo stringa.
L'utilizzo del parametro esclude l'utilizzo dei parametri: BLOB, FILE
ERRORE
Consente al programma di intercettare e gestire l'errore restituito dalla funzione.
Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.
L'errore 22087 viene gestito a partire dalla versione 27.1. Per le versioni precedenti viene fornito un errore a video a cui segue l'interruzione dell'esecuzione.
IGNORACARATTERINONVALIDI
Se valorizzato a 1, in caso di presenza di caratteri non validi nel file, anziché restituire l'errore 22086 rieffettua la lettura sostituendo tutti i caratteri non ASCII con uno spazio.
L'utilizzo del parametro esclude l'utilizzo del parametro BLOB
Errori
| Codice | Descrizione |
|---|---|
| 5017 | Il file {ex.FileName} non esiste |
| 22087 | Lettura file XML. Attenzione! Il file '{ex.ParamName}' esiste ma è vuoto. |
| 22086 | Lettura file XML. Attenzione! Carattere non valido nel file xml: riga 'x', colonna 'y' |
Esempi
Lettura documento XML da file
DIM documento[CLASSE[BC_XML_DOCUMENT]]
DIM fileXML[TIPO[BCFILE]]
'@READXMLDOCUMENT DOCUMENT[documento] FILE[fileXML]
Lettura documento XML dentro un blob
DIM data[BLOB]
DIM doc[CLASSE[BC_XML_DOCUMENT]]