Bonjour à tous,

je fais de l'insertion de fichiers XML dans une base DB2/AS400 (i5) et il me faut récupérer la valeur d'un attribut en fonction de la valeur de l'autre attribut d'un même élément ... un exemple vous éclairera !


Mon fichier XML source (mon_fichier.xml) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<ROOT>
	<PARAMETERS>
		<PARAMETER Name="option_1" Value="123456"/>
		<PARAMETER Name="option_2" Value="01"/>
		<PARAMETER Name="option_3" Value="02"/>
		...
	</PARAMETERS>
</ROOT>

Le fichier XML qui me permet de faire de l'insertion automatique en BDD DB2/AS400 grâce à XML Extender (dad.xml) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>
<!-- chemin de la DTD du DAD -->
<!DOCTYPE PROJET SYSTEM "dad.dtd">
<DAD>
	<!-- chemin de la DTD du XML -->
	<dtdid>ma_dtd.dtd</dtdid>
	<validation>YES</validation>
		<Xcolumn>
			<table name="projet.fic_xml">
				<column name="opt_1" type="integer" path="/ROOT/PARAMETERS/PARAMETER/@Name='option_1'/@Value" multi_occurrence="NO" />
				<column name="opt_2" type="integer" path="/ROOT/PARAMETERS/PARAMETER/@Name='option_2'/@Value" multi_occurrence="NO" />
				<column name="opt_3" type="integer" path="/ROOT/PARAMETERS/PARAMETER/@Name='option_3'/@Value" multi_occurrence="NO" />
			</table>
		</Xcolumn>
</DAD>
Je crois que l'attribut "path" de mon fichier DAD, qui est un fichier XML, utilise du XPath.


Donc, cette syntaxe ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
path="/ROOT/PARAMETERS/PARAMETER/@Name='option_3'/@Value"
... va me permettre de récupérer : 02 ?


Comme vous l'avez peut-être compris, je ne peux pas tester mes insertions de données sur ma base DB2. C'est pourquoi, je fais appel à vous !


Merci d'avance.

Gôm