<< Fare clic per visualizzazione il sommario >> Percorso: Il linguaggio OEL > Funzioni > XmlToDataset |
Converte una stringa in formato XML in un dato strutturato.
Funzione
XmlToDataset(string xml, IDataSet fieldMapping, IDataSet fieldRenaming, IDataSet valuesIfNull)
La funzione può essere utilizzata nelle seguenti modalità:
1) XmlToDataset(string json, DatasetConversionOptions datasetConversionOptions)
2) XmlToDataset(string xml, IDataSet fieldMapping, IDataSet fieldRenaming, IDataSet valuesIfNull)
Output |
||
Nome |
Descrizione |
Tipo |
returnValue |
Dato strutturato corrispondente alla stringa XML indicata in input. |
DataSetValue |
Modalità 1)
JsonToDataset(string json, DatasetConversionOptions datasetConversionOptions)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
xml |
Stringa contenente un testo in formato XML. |
String |
|
datasetConversionOptions |
Dato strutturato utile a definire le opzioni di conversione. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Dato strutturato corrispondente alla stringa XML indicata in input. |
DataSetValue |
|
Modalità 2)
XmlToDataset(string xml, IDataSet fieldMapping, IDataSet fieldRenaming, IDataSet valuesIfNull)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
xml |
Stringa contenente in formato XML. |
String |
|
fieldMapping |
Dato strutturato utile a specificare quali campi del XML devono essere riportati nel dato strutturato risultato indipendentemente dal livello della struttura. Ogni elemento del dato strutturato ha come chiave il nome dei campi del XML da restituire al primo livello del dato strutturato e come valore vuoto o un eventuale nuovo nome che si vuole assegnare all'elemento al primo livello nel dato strutturato restituito. Se il nome del campo del XML che si vuole estrarre è riportato in un percorso del XML occorre specificare come chiave l'intero percorso del XML con i nomi dei campi separati da ":" . |
|
|
fieldRenaming |
Dato strutturato utile a specificare come rinominare i campi del XML nel dato strutturato risultato. Ogni elemento del dato strutturato fieldRenaming ha come chiave il nome del campo XML e come valore il nuovo nome nel corrispondente dato strutturato restituito dal metodo. E' possibile assegnare a fieldRenaming valore null per non effettuare il rinomina dei campi. |
|
|
valuesIfNull |
Dato strutturato contenente i valori da assegnare ai campi del XML specificati se il relativo valore è null. Ad esempio se valuesIfNull contiene due elementi: - valuesIfNull["first_name"] = "" - valuesIfNull["trim_user"] = false Il dato strutturato restituito avrà: - tutti i campi denominati "first_name" (a qualsiasi livello) valorizzati con "" invece di null - tutti i campi denominati "trim_user" (a qualsiasi livello) valorizzati con false invece di null.. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Dato strutturato corrispondente alla stringa XML indicata in input. |
|
Commenti
Restituisce |
Condizione |
Dato strutturato con tutti i campi del XML |
Se fieldMapping risulta null o DataSet(). |
Dato strutturato con alcuni campi del XML |
Se i valori di fieldMapping sono null o vuoti implica che il nome delle chiavi presenti nel dato strutturato non subirà modifiche. |
Dato strutturato in cui i nomi dei campi sono uguali a quelli della struttura XML |
Se fieldRenaming è risulta null o vuoto. |
Dato strutturato in cui i nomi dei campi sono rinominati rispetto a quelli della struttura XML |
Se fieldRenaming è valorizzato. Ad esempio se fieldRenaming è pari a Dataset('idpagina','NumeroPagina') , ogni campo del XML denominato idpagina (indipendentemente dal livello di annidamento) sarà rinominato in NumeroPagina nel dato strutturato risultato. |
Esempio 1
Dato il seguente XML
<widget>
<debug>on</debug>
<window title="Sample Konfabulator Widget">
<name>main_window</name>
<width>500</width>
<height>500</height>
</window>
<image src="Images/Sun.png" name="sun1">
<hOffset>250</hOffset>
<vOffset>250</vOffset>
<alignment>center</alignment>
</image>
<text data="Click Here" size="36" style="bold">
<name>text1</name>
<hOffset>250</hOffset>
<vOffset>100</vOffset>
<alignment>center</alignment>
<onMouseUp>
sun1.opacity = (sun1.opacity / 100) * 90;
</onMouseUp>
</text>
</widget>
Si richiede la XmlToDataset con valore fieldMapping= DataSet() , fieldRenaming = DataSet('window','window_DS','alignment','alignment_DS') , valuesIfNull = DataSet().
il dato strutturato risultato che si ottiene è il seguente:
Dataset
Key: 'widget', Type: Dataset, Value:
Key: 'debug', Type: String, Value: 'on'
Key: 'window_DS', Type: Dataset, Value:
Key: '@title', Type: String, Value: 'Sample Konfabulator Widget'
Key: 'name', Type: String, Value: 'main_window'
Key: 'width', Type: String, Value: '500'
Key: 'height', Type: String, Value: '500'
Key: 'image', Type: Dataset, Value:
Key: '@src', Type: String, Value: 'Images/Sun.png'
Key: '@name', Type: String, Value: 'sun1'
Key: 'hOffset', Type: String, Value: '250'
Key: 'vOffset', Type: String, Value: '250'
Key: 'alignment_DS', Type: String, Value: 'center'
Key: 'text', Type: Dataset, Value:
Key: '@data', Type: String, Value: 'Click Here'
Key: '@size', Type: String, Value: '36'
Key: '@style', Type: String, Value: 'bold'
Key: 'name', Type: String, Value: 'text1'
Key: 'hOffset', Type: String, Value: '250'
Key: 'vOffset', Type: String, Value: '100'
Key: 'alignment_DS', Type: String, Value: 'center'
Key: 'onMouseUp', Type: String, Value: '
sun1.opacity = (sun1.opacity / 100) * 90;
'
Esempio 2
Dato il seguente XML
<widget>
<debug>on</debug>
<window title="Sample Konfabulator Widget">
<name>main_window</name>
<width>500</width>
<height>500</height>
</window>
<image src="Images/Sun.png" name="sun1">
<hOffset>250</hOffset>
<vOffset>250</vOffset>
<alignment>center</alignment>
</image>
<text data="Click Here" size="36" style="bold">
<name>text1</name>
<hOffset>250</hOffset>
<vOffset>100</vOffset>
<alignment>center</alignment>
<onMouseUp>
sun1.opacity = (sun1.opacity / 100) * 90;
</onMouseUp>
</text>
</widget>
Si richiede la XmlToDataset con valore fieldMapping= DataSet('widget:window','') , fieldRenaming = DataSet() , valuesIfNull = DataSet().
il dato strutturato risultato che si ottiene è il seguente:
Dataset
Key: 'window', Type: Dataset, Value:
Key: '@title', Type: String, Value: 'Sample Konfabulator Widget'
Key: 'name', Type: String, Value: 'main_window'
Key: 'width', Type: String, Value: '500'
Key: 'height', Type: String, Value: '500'