Práca s XML v Jave

Ako pracovať (čítať, zapisovať dáta) v Jave z XML?

Túto otázku som si kládol už dlhšiu dobu a pred nedávnom som sa rozhodol, že si nejakú technológiu osvojím.

Na internete som sa dočítal, že najjednoduchším spôsobom je použiť technológiu SAX a pre zložitejšie dokumenty DOM. Pustil som sa do toho. Prvú vec ktorú som si všimol a ktorá mi na oboch technológiách vadila bolo, že to vôbec nebolo jednoduché.

Keď pracujem s XML v jazyku PHP tak použijem triedu SimpleXMLElement ktorá má parametrický konštruktor kde odovzdám cestu k XML súboru a viacej sa nestarám o nič. K elementom pristupujem ako k atribútom triedy a iterujem ich ako pole.

Prečo to tak nie je aj v Jave? To bola pre mňa záhadná otázka až pokiaľ som neobjavil technológiu JAXB.

Keď som prišiel na to ak JAXB funguje hneď som začal hľadať na internete nejaký tutoriál ako sa ho naučiť. A podarilo sa.

http://www.mkyong.com/java/jaxb-hello-world-example/

Jedno však v tomto tutoriále nie je spomenuté. A to, že ta trieda Customer sa dá vygenerovať automaticky zo súboru XSD. A to spustením xjc skriptu v v adresári $JAVA_HOME/bin/xjc -p [menny priestor] [xsd subor]. Uvediem príklad:

user@linux: my_project $ /usr/lib/jvm/java/bin/xjc -p net.adamjak.thomas.testy_na_vodicak.classes.xml net/adamjak/thomas/testy_na_vodicak/xsd/schemaXmlDokumentu.xsd
Značky: