- D1Rect: Nagy "hülyétkapokazapróktól" topik
- mefistofeles: Az elhízás nem akaratgyengeség!
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Commodore The C64, Ultimate
- Tóth Olivér: Tudtátok hogy ez ma már RETRO?
- KISDUCK: Diétás kaja tipp
- Geri Bátyó: Régi VGA, HDMI és a felbontás
- sziku69: Fűzzük össze a szavakat :)
- tordaitibi: Moltbook- az AI közösségi platformja
Új hozzászólás Aktív témák
-
modder
aktív tag
Hali,
http://en.wikipedia.org/wiki/Java_API_for_XML_Processing Ez egy jó összefoglalónak tűnik, hogy melyik API mire való. az XMLEventReader azt hiszem StAX specifikus dolog.
A DOM ugye fogja az egész dokumentumot és beparsolja egy DOM fába.
A SAX az egy push parser: ahogy parsolja a dokumentumokat, új tag-eket, és attribútumokat talál, callback metódusokat hívogat, amiket az alkalmazásod implementál, és el tudod dönteni, hogy mit akarsz csinálni az éppen aktuális információval.
A StAX parser hasonló, csak ott az alkalmazás kívülről irányítja a parsolást: lépteti a parsert előre.Nyilván egy szálban tökre mindegy, hogy push vagy pull, szerintem akkor lehet érdekes ez, amikor van egy parsoló szál és egy feldolgozó szál.
A legegyszerűbb a DOM, mert miután a parser készített belőle egy objektum modellt, a tag-ek objektumok hierarchiájaként fog megjelenni, és szépen a saját metódusain keresztül kereshetsz/iterálhatsz benne, meg is változtathatod. Továbbá, ami nagyon hasznos lehet számodra, hogy XPath lekérdezésekkel le tudod kérni csak azokat a node-okat, amikre szükséged van: http://www.ibm.com/developerworks/library/x-domjava/#3
Az, hogy melyiket válaszd eléggé függ attól, hogy mit akarsz elérni:
Ha nem fontos a sebesség: Ha egy asztali alkalmazást csinálsz, semmit nem fogsz profitálni a StAX parserrel a DOM-hoz képest, nem lesz akkora a különbség. Hatalmas RSS-nél mondjuk (hasraütés) pár száz ms-t veszítesz. (DOM)Ha fontos a sebesség: Egy google readerszerű alkalmazást akarsz, ami éjjel nappal olvassa az RSS-t, és mondjuk párhuzamosan amennyit tud. Akkor nem mindegy, hogy a végső reprezentáció és az eredeti XML között fel akarsz-e építeni és tárolni ideiglenesen a memóriában egy DOM fát.
Esetleg fontos a gyors válasz: te real-time akarod beparszolni az RSS-t, és minél gyorsabban pl. betolni adatbázisba a tartalmát vagy más reprezentációban tárolni. (SAX)Streaming: Ez kapcsolódik az előzőhöz: az RSS-t egyből más reprezentációban akarod elmenteni gyorsan, vagy továbbküldeni a hálózaton. (StAX)
Kell-e minden adat: elképzelhető, hogy nem kell az RSS-ből minden adat, csak a link neve például, akkor a többi adat teljesen fölösleges, fölösleges is tárolni őket, a parsolás folyamán csak azokat az adatokat tárolod le, amik szükségesek. (StAX)
Én azt mondom, amíg nem hatalmas mennyiségű RSS feedről, rettentő reszponzív alkalmazásról, streamingről, vagy nagyon kevés memóriáról van szó, addig használj DOM-ot.
-
Karma
félisten
Szerintem egyiket se, inkább a Simple-t.
De legalább egy pull parsert, ha mindenképp kézzel akarod írni. Az adott node kiválasztására meg általánosságban az XPath való - DOM parsolás után legalábbis, mert stream parsolásnál nehezen értelmezhető.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Mibe tegyem a megtakarításaimat?
- AMD Navi Radeon™ RX 9xxx sorozat
- Beköszönt a hajlítható telefonok aranykora
- Parfüm topik
- Android alkalmazások - szoftver kibeszélő topik
- Kuponkunyeráló
- Újabb tanúsítványt kapott a Poco X8 Pro Max
- Assetto Corsa EVO
- A fociról könnyedén, egy baráti társaságban
- Autós topik
- További aktív témák...
- Zbook Studio G8 15.6" 4K OLED érintő i7-11800H RTX 3070 16GB 512GB NVMe magyar vbill gar
- Garanciális Gamer PC Ryzen 5 5600GT Rtx 3060ti 8GB 16GB RAM 512GB SSD
- ZBook Firefly 14 G10 ,14" FHD+ IPS érintő i7-1355U RTX A500 16GB 512GB NVMe magyar vbill gar
- 27% ASUS ROG Strix OLED XG27AQDNG Monitor !
- 27% Samsung Odyssey G5 S27FG506SU OLED Monitor !
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4538
- A Legújabb! Dobozos Új DELL XPS 13 9340/ULTRA 7-155H/32 GB Ram/1TB SSD/AI BOOST+INTEL ARC
- GYÖNYÖRŰ iPhone 13 128GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS4373, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

