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 :
ou<balise></balise>c'est la cacastrophe et je me retrouve face à une erreur :<balise/>Je suis donc à la recherche d'un moyen de tester le contenu de mes balises.ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
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:
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...
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;
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!!
Partager