Heittäkään joku palstalaisista hyvä linkki oppaaseen XML - parserointiin Javalla. Nyt sille olisi kysyntää.
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
Ennen kuin pääsen käsiksi parseroinnin maailmaan, pitäisi olla se Xml - tiedosto, mitä parseroida. Olen tekemässä ohjelmaa vähän mutkan kautta, eli nettilähteestä kopioimassa DataOutputStreamilla rivi riviltä xml - dataa. Ongelmana vain on se, että joistain node - tageistä jää alku - väkänen pois, eikä niitä voi näin ollen enää parseroida! Miten saisin verkkolähteestä kopioitua ensin omalle koneelleni kokonaisen xml - datan, jota sitten voisin parseroida toisella ohjelmalla? Käytän DataOutputStream -luokkaa lukemiseen, ja openStream -metodia, ja sitten DataInputStreamia kirjoittamiseen. Mutta tuntuu siltä, että se ei tallenna koko tiedostoa, vaan väkäsiä sieltä täältä rivien alusta puuttuu!
Hyvää mutta helppoa saa esim. XStream:lla - http://xstream.codehaus.org/tutorial.html
Suosittelisin kuitenkin ennemmin ehkä "virallista" Javan parseri API:a JAXB:ia - http://docs.oracle.com/javase/tutorial/jaxb/intro/
Hyvä vaihtoehto JAXB:lle olisi Castor XML - http://castor.codehaus.org/reference/html/
XML dataa ei kannata lukea rivi riviltä. Kannattaa tehdä olio josta/johon voidaan muuntaa tietynlainen XML elementti. Tällaista muunnosta kutsutaan marshalloimiseksi ja unmarshalloimiseksi.
XStream kutsuu marshallointia serialisoinniksi. Tarkoittavat samaa.
Päädyin ratkaisuun, jossa kopioin lähteestä ensin omalle koneelleni tavu tavulta XML - tiedoston. Löysin kivan esimerkin Stackoverflow -sivuston keskusteluista. Nyt on kaikki väkäset kohdallaan, ja XML - parserointi onnistuu ilman virheitä!