Új hozzászólás Aktív témák
-
Karma
félisten
válasz
WonderCSabo
#3409
üzenetére
Igen, én is ilyen SAX-okat szoktam látni. Tagváltozók, hogy éppen milyen tagen belül jár a parser, aztán a startElement, characters és endElement metódusokban összeturmixolva a mindenféle esetet lekezelő logika; bonyolultabb esetben egy stack még előfordul. Eztán elindítod a parsert az XML-re, végigdarálja, a callbackjeid meghívódnak és a legvégén örülsz, ha minden kitöltődött rendben.
Ehhez képest a StAX fordítva működik. Amikor parsolsz, te lépteted folyamatosan a következő tokenre (iterátor), és az aktuális token típusától, nevétől, stb. eldöntheted, mit csinálsz - akár félbe is hagyhatod a feldolgozást.
De ami fontosabb, a parsert szabadon megoszthatod több metódussal, amik egy adott elemet tudnak feldolgozni. Az előző példakód úgy nézne ki, hogy if fák helyett vannak parseFirstName, parseLastName, stb. metódusaid, amik a startElementtől az endElementig elvégzik a dolgukat.
És eközben teljesítményben nem rosszabb. Itt egy jókis stackoverflow kérdés, amit reggel olvasgattam amikor a kérdésemet elkezdtem.
Példát most nem tudok írni, mert dolgozom.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4207
- HP ProDesk 600 G5 i3-9100 8GB 256GB 1 év garancia
- BESZÁMÍTÁS! HP Elitebook 745 G6 14 üzleti notebook - R5 3500U 16GB DDR4 256GB SSD Vega 8 IGP WIN11
- HP EliteOne 800 G5 All-in-One i5-8500 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

