Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML] krzaki w znacznku - błąd kodowania?
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Edytowany: Przepraszam nie zauważyłem powyżej sub działu dotyczącego samego XML -> bardzo przepraszam i proszę o przeniesienie jeżeli bardzo źle umieściłem mój wątek

Witam z xml'em dopiero dzisiaj zacząłem zabawę i dlatego w zasadzie mam dwa laickie problemy/pytania. Poszukał bym sam, ale na razie nie wiem jakie słowa kluczowe mam zahaczyć aby znaleźć rozwiązanie nurtującego mnie problemu.
1. dostałem duży plik xml po rozpakowaniu ponad 50 mb (wyszukiwarka rejsów na stronę z ogromną ilością wpisów), czy wczytywanie tego na stronę będzie miało wpływ na ładowanie się strony?
2. W tym pliku w niektórych znacznikach np: opis, pelny_opis,zdjecie, są składnie chaotycznych liter typu "xJio3 IL DSKJFlasdkfjie" a większość jest ok, co to może znaczyć?
wklejam przykład 1 rekordu z pliku xml:

  1. <rejs>
  2. <id_rejsu>105</id_rejsu>
  3. <nazwa>Norweskie Fiordy</nazwa>
  4. <data>
  5. <od>2006-06-10 00:00:00</od>
  6. <do>2006-06-17 00:00:00</do>
  7. </data>
  8. <typ_rejsu>standardowy</typ_rejsu>
  9. <statek>
  10. <id_statku>19</id_statku>
  11. <nazwa>MSC Lirica</nazwa>
  12. <linia>msc</linia>
  13. <opis>U3RhdGVrIG8gc3RhbmRhcmR6aWUgNCogbmFsZb+xY3kgZG8gZmxvdHkgTWVkaXRlcnJhbmVhbiBTaGlw
    cGluZyBDcnVpc2VzIChNU0MpLiBOYSA4IHBva7NhZPN3IHBhc2G/ZXJza2ljaCB6YWJpZXJhIDIuMjAwIHBhc2G/ZXLzdy4=</opis>
  14. <opis_pelny>rLiAyMm0mIzE3ODspLjwvZGQ+DQogPC9kbD4=</opis_pelny>
  15. <foto>http://namorzu.pl/images/statki/statek_msc_lirica.jpg</foto>
  16. </statek>
  17. <info_dodatkowe></info_dodatkowe>
  18. <opis>ZHplbml1OyBjZW55IHd5Y2llY3playBmYWt1bHRhdHl3bnljaCwgcHJvcG96eWNqZSBkb2phemR1IGRv
    IHBvcnR1LCBob3RlbGkgcHJ6ZWQvcG8gcmVqc2llIG5hIHphcHl0YW5pZS4NCjwvZGQ+DQo8L2RsPg==</opis>
  19. <mapka>http://namorzu.pl/namorzu/images/mapki/msc_norweskie_fiordy.jpg</mapka>
  20. <trasa_rejsu>Dania,Niemcy,Norwegia</trasa_rejsu>
  21. <promocja></promocja>
  22. <pilot> </pilot>
  23. <region>Norweskie Fiordy</region>
  24. <id_rejsu_wzorcowego></id_rejsu_wzorcowego>
  25. </rejs>


Poniżej przykład jak zacząłem wyciągać powoli dane, ale krzaki w znacznikach: opis, pelny_opis, zdjecie, mnie powstrzymały.
Domyślam się, że motyw ze zdjęciem to tak jak by otworzyć jpg w notatniku i pokazują się takowe krzaczki (trzeba bedzie uzyć jakiegoś dekodera czy jak), ale opis i pelny_opis? Zwłaszcza ze ponizej znacznik mapka pokazuje odnośnik do zdjęcia które wyświetla się poprawnie
  1. <?
  2. $rejsy = simplexml_load_file('dane/export.xml/baza.xml');
  3.  
  4. echo '<ul>';
  5. foreach ($rejsy->rejsy as $r) {
  6. foreach ($r->rejs as $rx) {
  7. echo '<li>XX ';
  8. echo $rx->id_rejsu;
  9. echo ': ';
  10. echo $rx->nazwa;
  11. echo ': ';
  12. echo $rx->data->od;
  13. echo ' ';
  14. echo $rx->data->do;
  15. echo ' (';
  16. echo $rx->typ_rejsu;
  17. echo ')</li>';
  18. foreach ($rx->statek as $s) {
  19. echo ' ';
  20. echo $s->id_statku;
  21. echo ': ';
  22. echo $s->nazwa;
  23. echo ' ';
  24. echo $s->linia;
  25. echo ': ';
  26. // echo $s->opis;
  27. //echo $s->opis_pelny;
  28. echo '<img src=" ';
  29. echo $s->foto;
  30. echo ' ">';
  31. }
  32. }
  33. echo '</ul></li>';
  34. }
  35. echo '</ul>';
  36. ?>


Proszę o podpowiedź

//EDITED - pozwoliłem sobie skrócić zakodowaną część opisu, żeby forum się nie rozjeżdżało.

Ten post edytował adek- 24.03.2010, 16:37:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zenon13
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 1.03.2010

Ostrzeżenie: (0%)
-----


Cytat
W zasadzie nie spodziewałem się, że najpierw trzeba przekonwertować na UTF zakodowany tekst a dopiero później go rozkodować z base64

No przecież jest dokładnie odwrotnie - najpierw wykonywane jest to co "wewnątrz". Ale to tak na boku
A co do przeszukiwania XML to szczerze nigdy tego nie robiłem - zawsze korzystam z zapytań w bazie danych ale jak rozumiem tu nie ma takiej opcji. Proponuję zapoznać się z XPath i XQuery
np. tu: http://www.php.net/manual/pl/class.domxpath.php
i tu http://www.w3schools.com/xquery/default.asp
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 16:54