Bonjour,

Comme le titre l'indique je cherche à extraire les données d'un fichier xml pour les stocker dans ma base Oracle.
Si toutes les balises contiennent des données, ça fonctionne parfaitement.
Mais, si au moins une balise est vide, genre :
<balise></balise>
ou
<balise/>
c'est la cacastrophe et je me retrouve face à une erreur :
ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
Je suis donc à la recherche d'un moyen de tester le contenu de mes balises.
Ma difficulté à le faire vient du fait que le contenu de mes balises se situe apparemment dans un noeud enfant. Un cran en dessous encore. Je débute en la matière donc il m'est difficile d'expliquer pourquoi, mais quand je veux récupérer le contenu de ma balise, je suis obligée de passer par ce script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
IF (UPPER(nomnoeudbalise) = 'BALISE') THEN 
     NoeudEnfant:=dbms_xmlDom.getChildNodes(nomnoeudbalise);
     SousNoeud:=dbms_xmlDom.item(NoeudEnfant,0); --il n'y en a qu'un seul donc je prends le premier, au rang 0
     valeurBalise:=dbms_xmlDom.getNodeValue(SousNoeud);
END IF;
Je précise que j'ai bien sûr testé getNodeValue(), mais qu'il ne me ramène rien. Il faut que je parcours un noeud enfant, qui pour moi est invisible...

Et donc avec ce script, dans valeurBalise je récupère bien mon contenu... mais comment tester un contenu que je ne suis pas encore aller chercher?!

Si quelqu'un a déjà été confronté à ce problème et à trouvé une solution de contournement, merci de venir me sauver la vie!!