XML - parserointi

Heittäkään joku palstalaisista hyvä linkki oppaaseen XML - parserointiin Javalla. Nyt sille olisi kysyntää.
4434
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat
Aloittaja

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!

Äänestä

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.

Äänestä
  • XStream kutsuu marshallointia serialisoinniksi. Tarkoittavat samaa.

    Äänestä

Aloittaja

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ä!

Äänestä

Kommentoi aloitusta


jerzunposti kirjoitti:

Heittäkään joku palstalaisista hyvä linkki oppaaseen XML - parserointiin Javalla. Nyt sille olisi kysyntää.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu