tester tester napsal(a):
> Ahoj vsetkych,
> 
> kedze som s komplexnejsimi XML nepracoval ra by som sa spytal ako mozno 
> sparsovat takuto vec :
> 
> <item type="com.raileasy.public.arrayOfFares">
>         <flexibilitycode>y</flexibilitycode>
>         <packagetype>0</packagetype>
>         <totalpriceoffares>1540</totalpriceoffares>
>         <savingoverthroughfare>0</savingoverthroughfare>
>         <outboundjourneys type="array">
>             <item>1</item>
>         </outboundjourneys>
>         <fares type="array">
>             <item type="com.raileasy.public.fare">
>                 <tickettypecode>SDS</tickettypecode>
>                 <routedescription>NOT LONDON</routedescription>
>                 <prices type="array">
>                     <item type="com.raileasy.public.farePrice">
>                         <currency>GBP</currency>
>                         <totalprice>1540</totalprice>
>                         <numchildtickets>0</numchildtickets>
>                         <numgrouptickets>0</numgrouptickets>
>                         <totaladultprice>1540</totaladultprice>
>                         <adultprice>1540</adultprice>
>                         <numadulttickets>1</numadulttickets>
>                     </item>
>                 </prices>
>                 <packagetype>0</packagetype>
>                 <rtn>NO</rtn>
>                 <outwardreservationrequired>NO</outwardreservationrequired>
>                 <publicationsequence>056</publicationsequence>
>                 <numpassengers>1</numpassengers>
>                 <validitycode>87</validitycode>
>                 <capricode>AAA</capricode>
>                 <outboundjourneys type="array">
>                     <item>1</item>
>                 </outboundjourneys>
>                 <routecode>00700</routecode>
>                 <crosslondon>NO</crosslondon>
>                 <categorycode>y</categorycode>
>                 <fareclass>2</fareclass>
>                 <faregroup>S</faregroup>
>             </item>
>         </fares>
>         <includesafirstclassfare>NO</includesafirstclassfare>
>         <outwardreservationrequired>NO</outwardreservationrequired>
>         <includesastandardclassfare>YES</includesastandardclassfare>
>         <numfares>1</numfares>
>         <rtn>NO</rtn>
>     </item>
> 
> je to cast xml ktore dostavam od servru.
> Problem s ktorym sa borim je ze existuje niekolko elementov <item> ktore sa 
> nachadzaju rozhadzane po celom elemente a nijako medzi sebou nesuvisia inymi 
> slovami su ineho typu. 
> 
> Vie ma niekto nakopnut spravnym smerom ako sa s touto hlupostou vysporiadat ?
> 
> A.

mate DTD? pokud ano, problem s parsovanim zrejme nebude (da se pocitat s 
nejakou pevnou strukturou).

vas priklad mi navozuje dojem, ze to xml se skada dost dynamicky a atribut type 
u elementu item urcuje co lze cekat vevnitr. pokud soubory nebudou
nejak velke, klidne bych pouzil DOM (dom4j) a sel na to rekurzivne s 
"pretezovanim" ktere si ale budete muset udelat sam podle toho co je u elementu
item v atributu type. tedy neco jako (pseudokod):

void parseItem(Element e) {
 switch(e.type)
        "arrayOfFares" : parseArrayOfFares();
        "farePrice" : parseFarePrice();
}

ale zalezi co z toho vlastne chcete dostat, pokud chcete jenom konkretni 
atributy, pouzijte xpath


-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:[email protected]
http://www.i.cz

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem