Preskočiť na hlavný obsah

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

Komentáre

Obľúbené príspevky z tohto blogu

Java - Súčet Listu s objektami BigDecimal

Pri používaní typu BigDecimal som narazil na zaujímavú úlohu a to sčítanie všetkých hodnôt v Liste. Majmä nasledovne definovaný list: List < BigDecimal > listOfBigDecimals = new LinkedList (); 1. spôsob je klasicke preiterovanie celého listu: BigDecimal sum = BigDecimal . ZERO ; for ( BigDecimal number : listOfBigDecimals ) { sum = sum . add ( number ); } 2. spôsobom je využitie stream.reduce() : BigDecimal sum = listOfBigDecimals . stream () . reduce ( BigDecimal . ZERO , BigDecimal :: add ); BONUS: spôsob s použitím reduce() v Kotline : val sum : BigDecimal = listOfBigDecimal . reduce { a , n -> a . add ( n ) }

Obnova vymazaných suborov

Mnohokrát som sa stretol s otázkou či je možné obnoviť vymazané súbory na disku, na USB kľúči či na pamäťovej karte. Moja odpoveď je vždy rovnaká: NIE! Áno, ja viem klamať sa nemá ale je to lepšie pre obe strany. Ja sa s tým nemusím hrať a prehľadávať kadejaké staré USB disky a na druhej strane ľudia nie sú sklamaný keď sa mi to nepodarí. Teraz keď vieme, že to ide tak si poďme ukázať jednoduchý spôsob ako sa to dá robiť. Počas ukážky si stiahnem logo softvéru TestDisk ktoré následne vymažem a pokúsim sa ho opäť obnoviť. Použijem na to softvér TestDisk . user@pc:/media/user/USB $ wget http://www.cgsecurity.org/mw/images/Testdisklogo_clear_100.png --2017-02-10 23:03:29-- http://www.cgsecurity.org/mw/images/Testdisklogo_clear_100.png Prevádza sa www.cgsecurity.org (www.cgsecurity.org) na IP adresu... 193.168.50.236 Pripájanie k www.cgsecurity.org (www.cgsecurity.org)|193.168.50.236|:80... pripojené. HTTP požiadavka odoslaná, čakám na odpoveď... 200 OK Dĺžka: 1726 (1,7K) [imag...

Formátovanie poznámok pod čiarov v LaTeXe

Najjednoduchšou cestou je použitie hand nastavení z balíčka footmisc . Pre nastavenie odsadenie použijeme voľbu \fotnotemargin nasledovne: \documentclass{article} \usepackage{lipsum} \usepackage[hang]{footmisc} \setlength\footnotemargin{10pt} \begin{document} \null\vfill % iba pre príklad \lipsum*[4]Test\footnote{\lipsum[4]} \end{document} Citované z : http://tex.stackexchange.com/questions/126877/how-can-i-align-a-multiple-line-footnote-text-right-to-the-footnote-mark#126878