Passa al contenuto principale

READXMLDOCUMENT

DesktopWeb
warning
La specifica è deprecata nei sorgenti con STRICT maggiore o uguale a 4, al suo posto vedere metodi LoadXmlDocumentFromFile e LoadXmlDocumentFromString della classe BC_XML_DOCUMENT

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:

  1. Parametro BlobXml vuoto: non viene riportato nessun errore ed il parametro OggettoXmlDocument è restituito vuoto
  2. Parametro FileXml indica un file che non esiste: errore 5017
  3. Parametro FileXml indica un file che esiste ma è vuoto:
  4. Fino alla versione 27.0: viene fornito un errore a video a cui segue l'interruzione dell'esecuzione
  5. Dalla versione 27.1: errore 22087
  6. Parametro FileXml indica un file che esiste, non è vuoto ma è mal formattato: errore 22086

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
DOCUMENTClasseINObbligatorioDesktopWeb
BLOBBlobINDesktopWeb
FILEStringaINDesktopWeb
TESTOStringaIN30.7DesktopWeb
ERROREInteroINDesktopWeb
IGNORACARATTERINONVALIDIInteroIN29.3DesktopWeb

DOCUMENT

ClasseINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWeb

Oggetto di tipo BC_XML_DOCUMENT da popolare.

OggettoXmlDocument: variabile di tipo CLASSE BC_XML_DOCUMENT.

BLOB

BlobINInputValore non necessarioValore non necessarioDesktopWeb

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

StringaINInputValore non necessarioValore non necessarioDesktopWeb

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

30.7StringaINInputValore non necessarioValore non necessarioDesktopWeb

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

InteroINInputValore non necessarioValore non necessarioDesktopWeb
SottoParametri

Consente al programma di intercettare e gestire l'errore restituito dalla funzione.

suggerimento

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

29.3InteroINInputValore non necessarioValore non necessarioDesktopWeb
SottoParametri

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

CodiceDescrizione
5017Il file {ex.FileName} non esiste
22087Lettura file XML. Attenzione! Il file '{ex.ParamName}' esiste ma è vuoto.
22086Lettura 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]]