Sziasztok!
Van egy XML fájlom. Méretét tekintve 6,1 MB.
A fájlt egy webshopba kéne feltöltenem. A tapasztalat az, hogyha a Microsoft Excel megeszi, akkor a webshop is.
Nos, a LibreOffice is megnyitja, de nem, mint XML-t, hanem, mint szövegfájlt.
Úgyhogy próbálkozom egy MS Excel 2007-el. Az, azonban reklamál valahol a fájl közepe táján, hogy nem megengedett karakter van az ominózus sorban.
Megkerestem, és azt láttam, hogy abban egy egyszerű @ (azaz kukac) jel van. Az a kukac azonban szükséges lenne, hiszen épp egy hangfal specifikációit írja le és szerepel benne valahogy így: 20 W @ 4 Ohm.
Ha levédem \@ formában, akkor az meg fog attól jelenni az oldalon,vagy van erre megkerülő út?
Rájöttem, hogy a gond itt van: Zajszint: <10dBA ...
Tehát valahogy úgy kéne megtartanom a < jelet az XML fájlban, hogy azért ne reklamáljon az Excel.
Illetve mivel sajnos muszáj vagyok szórakozni sed paranccsal, ezért ebben is segítséget kérnék, hogy tudom kicserélni ezt úgy, hogy azokat a <> jeleket ne bántsa, ami ténylegesen az XML fájlhoz tartozik.
Segítsetek, mert ötletem sincs, mi a megoldás!
Köszönöm.
- 6885 megtekintés
Hozzászólások
Az olyan szövegeket, amik spéc karaktereket tartalmazhatnak, általában CDATA-val szokás körbevenni.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Köszi, ez volt a megoldás. :)
--
-- GKPortál Blog
Tégy Jót!
Legyen neked is Dropbox tárhelyed! :)
- A hozzászóláshoz be kell jelentkezni
Vagy mondjuk escapelni < > formában...
... Amit minden XML writer megtesz automatikusan, csak egyesek jobb szeretnek gányolni és stringeket egymásra hányni.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Majdnem jó, kivéve, ha NEM SZABAD escapelni.
- A hozzászóláshoz be kell jelentkezni
Akkor CDATA?
Jó, jó, nem olvastam a parent postot. :)
- A hozzászóláshoz be kell jelentkezni
Ezt most nem értem, miért jó az, hogy egy érvénytelen XML-t állítunk elő? Mikor van rá szükség?
Szerk.: ha most arra gondolsz, hogy a CDATA-ban nem kell, az azért más eset. (Mondjuk részemről nem szeretem a CDATA-t.)
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Pl. ha az XML-ben átadott adatoknak ellenőrizendő checksumja van XML-be exportálás előtt. (Mondjuk, én személy szerint ilyenkor inkább base64-be kódolva adom át a writernek, de ez csak akkor lehetséges, ha a fogadó oldal erre fel van készítve. Ha nincs, marad a CDATA, de még az se teljesen tökéletes, sőt. Szerintem nem kell mindenhová az XML-t erőltetni, van, ahol a használata több kárral jár, mint haszonnal.)
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
"Pl. ha az XML-ben átadott adatoknak ellenőrizendő checksumja van XML-be exportálás előtt"
Oke, de logikusan azt a checksumot az XML-bol beolvasas _utan_ ellenorzod, marpedig minden valamirevalo XML readernek vissza kell tudnia alakitani az escapelt szekvenciakat teljesen transzparensen. Pont ezert letezik XML-ben az & intezmenye, hogy meg az & jel is transzparensen dekodolhato legyen.
Szoval, ez igy invalid erv.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
De ennek semmi köze hozzá. Mikor kiolvasod, az XML parsernek kutya kötelessége feloldani az escapelést és ugyanazt az adatot kell visszakapnod, amit betoltál.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
> Illetve mivel sajnos muszáj vagyok szórakozni sed paranccsal, ezért ebben is segítséget kérnék, hogy tudom kicserélni ezt úgy, hogy azokat a <> jeleket ne bántsa, ami ténylegesen az XML fájlhoz tartozik.
Ismét és megint és még mindig. Nem törtök meg: http://stackoverflow.com/a/1732454
A problémák felderítésére meg nem Excel/LibreOffice, hanem valamiféle XML validátor. Tele van velük a net.
- A hozzászóláshoz be kell jelentkezni
Ezt már elmondtuk többedmagunkkal az előző topicban is, de nem érti, hogy cipőt a cipőboltból...
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
+1
Kedves Károly, kérlek, halgass már a jó szóra, és ne próbáld seddel parse-olni a HTML-t! Inkább kérj meg valakit, hogy írjon rá neked egy max. 20 soros python kódot.
- A hozzászóláshoz be kell jelentkezni
Karcsi, nezd mar meg pls. a PHP XML kezelo fuggvenyeit. Tudom, hogy nehez, hosszu es bonyolult, de ha mar PHP-t tolsz, merulj el benne, es ne csak ganyolj.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
DOMDocument használata egyáltalán nem nehéz. Oké, 200 megás XML-re már nem feltétlen alkalmas.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni