Bonjour,
Je souhaiterai parser un xml et je recois l'erreur suivant
document element namespace mismatch expected
Les noms des champs ne correpondent pas,
pourtant, mon xsd
1 2 3 4 5 6 7 8 9 10 11 12 13
| <xs:element name="DonneesPDC">
<xs:complexType>
<xs:sequence>
<xs:element name="idpdc" type="xs:string"/>
<xs:element name="messageErreur" type="xs:string"/>
<xs:element name="operationValide" type="xs:boolean"/>
<xs:element name="dateEtHeure" type="xs:date"/>
<xs:element name="DonneeConsommation" type="tns:DonneeConsommation"/>
<xs:element name="DonneeConfiguration" type="tns:DonneeConfiguration"/>
<xs:element name="DonneeEtat" type="tns:DonneeEtat"/>
</xs:sequence>
</xs:complexType>
</xs:element> |
et ce que je recupère de ma base de donnée
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="dat:Donnees">
<DonneesPDC>
<idpdc></idpdc>
<messageErreur/>
<operationValide/>
<dateEtHeure/>
<DonneeConsommation><LoadProfileEnergy>
<DateAndTime>01/12/2007 20:00:00</DateAndTime>
<Status>0</Status>
<SummaEnergy>491</SummaEnergy>
</LoadProfileEnergy></DonneeConsommation>
<DonneeConfiguration />
<DonneeEtat />
</DonneesPDC>
</message> |
et pour parser ca, je fais ca de 2 amnière differente:
promprement :
1 2 3 4 5 6 7
|
InputStream stream = message.newInputStream();
InputStreamReader reader = new InputStreamReader(stream);
DonneesPDCDocument donneesPDCdoc = DonneesPDCDocument.Factory.parse(reader);
DonneesPDC donneesPDC = donneesPDCdoc.getDonneesPDC(); |
avec message le xmlobject a parser
ou crados
1 2 3 4 5 6
| XmlCursor cursor = message.newCursor();
cursor.toFirstChild();
String c1 = cursor.xmlText();
System.out.println("message"+c1);
DonneesPDCDocument donneesPDCdoc = DonneesPDCDocument.Factory.parse(c1);
DonneesPDC donneesPDC = donneesPDCdoc.getDonneesPDC(); |
est ce que quelqu'un peut y voir plus clair que moi
Merce
Partager