Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

XPATH 1.0 : accès impossible à la valeur


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Nouveau Candidat au Club
    XPATH 1.0 : accès impossible à la valeur
    [Observé]
    J'ai un XML comportant des namespace dans la balise d'entête et dans le corps du message :

    Code xml :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" encoding="UTF-8"?>
    <StandardBusinessDocument xmlns="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader">
    	<StandardBusinessDocumentHeader>
    		<HeaderVersion>1.0</HeaderVersion>
    		<Type>PROCESSID</Type>
    		<InstanceIdentifier>urn:www.cenbii.eu:profile:bii28:ver2.0</InstanceIdentifier>
    	</StandardBusinessDocumentHeader>
    	<Order xmlns="urn:oasis:names:specification:ubl:schema<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd:Order-2" xmlns:cac="urn:oasis:names:specification:ubl:schema<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd:CommonBasicComponents-2" xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:qdt="urn:oasis:names:specification:ubl:schema<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2">
    		<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
    		<cbc:CustomizationID>urn:www.cenbii.eu:transaction:biitrns001:ver2.0:extended:urn:www.peppol.eu:bis:peppol28a:ver1.0</cbc:CustomizationID>
    		<cbc<img src="images/smilies/icon_razz.gif" border="0" alt="" title=":P" class="inlineimg" />rofileID>urn:www.cenbii.eu:profile:bii28:ver2.0</cbc<img src="images/smilies/icon_razz.gif" border="0" alt="" title=":P" class="inlineimg" />rofileID>
    		<cbc:ID>G0097921D</cbc:ID>
    		<cbc:IssueDate>2019-10-04</cbc:IssueDate>
    	</Order>
    </StandardBusinessDocument>


    Cependant lorsque je cherche à accéder avec XML Spy par exemple à une valeur le parseur ne trouve pas la valeur.
    Exemple: StandardBusinessDocument/Order/cbc:ProfileID

    Même chose dans mon programme (préfixe d'espace de nom non défini). A priori le problème vient d'une déclaration qui n'est pas sur la balise root.

    Peut-on déclarer les namespace dans le Xpath pour faire fonctionner la recherche ?

  2. #2
    Modérateur

    Hello,

    on ne peut pas déclarer les namespaces dans le XPath, mais on peut déclarer les namespaces pour être utilisés par le XPath.

    Comment, ben ça dépend de la bibliothèque XML que tu utilises, évidemment. Il aurait fallu que tu nous montres ton code. Il faut toujours faire ça, en fait.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java