![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Uczę się dopiero XML, a chcę (ok, muszę!) się nauczyć go do momentu rozpoczęcia roku akad. ![]() Plik XML wygląda tak (oczywiście wycinek):
Plik php zaś:
Wywala mi błędy: Cytat (...)Input is not proper UTF-8, indicate encoding(...) (...)simplexml_load_file() [function.simplexml-load-file]: ^ (...) oraz Fatal error: Call to a member function attributes() on a non-object in(...) Jak to ugryźć? Co robię źle? Pomóżcie proszę... ![]() Ten post edytował roobik 6.08.2008, 23:46:55 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 38 Dołączył: 24.02.2007 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
Witam.
Wydaje mi sie, że masz złe kodowanie tego pliku xml. Zanim ktoś bardziej doświadczony się odezwie spróbuj: otworzyć swój plik wyklady.xml otworzyć (np. zwykłym notatnikiem) i zapisać go wyklady.xml, ale upewnij się, że formatowaniem jest ustawione na UTF-* a nie standardowe ANSI. A jak to nie pomoże to spróbuj zastosować coś takiego:
... i podaj wynik (tego co wyświetli funkcja print_r). Powodzenia. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dostęp do pliku XML będę miał do momentu rozpoczęcia roku (chyba, że "zapomną"
![]() Na podstawie jednej ze stron zrobiłem coś takiego:
//edit Błąd leżał w tym, że plik xml był zapisany w formacie iso-8859-2... OK. Teraz, gdy daję
widzę jest zorganizowana tablica... Ale jak to ugryźć? //edit2 Na podst listingu z pierwszego posta otrzymałem mniej więcej taką tablicę (oczywiście daję wycinek, a nie całą ![]() Cytat dateSimpleXMLElement Object ( [@attributes] => Array ( [date] => 20081006060001 +0100 ) [dzial] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 1_Immunologia ) [nazwa-dzialu] => Immunologia ) [nazwa] => SimpleXMLElement Object ( [@attributes] => Array ( [wyklad] => 1_Immunologia [poczatek] => 20081006073000 +0100 [koniec] => 20081006090000 +0100 ) [tytul] => Budowa , funkcje i komĂłrki ukĹ�adu immunologicznego [opis] => Tematy poruszane podczas seminarium: UkĹ�ad limfatyczny Funkcje i znaczenie ukĹ�adu odpornoĹ�ciowego ) ) 1. Jak to teraz poukładać w tabelki? 2. W jaki sposób na tej podst można zrobić, by na każdy dział przypadała jedna podstrona? A każy dział "podzielony był dodatkowo na strony wg daty? Teraz to się dopiero zaczęło ![]() Ten post edytował roobik 7.08.2008, 10:11:52 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 38 Dołączył: 24.02.2007 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
Może ułatwi Ci kod znaleziony w manualu (zamienia obiekt na tablice):
Kod mark 12-Sep-2005 08:06 If the property of an object is empty the array is not created. Here is a version object2array that transfers properly. <?php function object2array($object) { $return = NULL; if(is_array($object)) { foreach($object as $key => $value) $return[$key] = object2array($value); } else { $var = get_object_vars($object); if($var) { foreach($var as $key => $value) $return[$key] = ($key && !$value) ? NULL : object2array($value); } else return $object; } return $return; } ?> Powodzenia : ) -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 135 Pomógł: 38 Dołączył: 24.02.2007 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
Mam nadzieję, że coś takiego Cię zadowoli : P Pozdrawiam. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
z samym php nie mam problemu... chodzi mi tylko o to, w jaki sposób z tej tablicy:
Cytat dateSimpleXMLElement Object ( [@attributes] => Array ( [date] => 20081006060001 +0100 ) [dzial] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 1_Immunologia ) [nazwa-dzialu] => Immunologia ) [nazwa] => SimpleXMLElement Object ( [@attributes] => Array ( [wyklad] => 1_Immunologia [poczatek] => 20081006073000 +0100 [koniec] => 20081006090000 +0100 ) [tytul] => Budowa , funkcje i komĂłrki ukĹ�adu immunologicznego [opis] => Tematy poruszane podczas seminarium: UkĹ�ad limfatyczny Funkcje i znaczenie ukĹ�adu odpornoĹ�ciowego ) ) wyciągnąć dane właśnie w postaci zmiennych: $wyklady $date $dzial $id $nazwa $tytul $opis A później czy zastosować while czyli foreach, czy może jakąś inną metodę? Narazie bowiem (bez urazy) mam samą tablicę - chyba, że czegoś nie pojąłem... ale proszę o wyrozumiałość... Uczę się na przykładach z neta - na jednej stronie jest napisane tak, a na drugiej inaczej... Nie ma jakiejś "jednolitości"... ![]() Przepraszam, że post pod postem - od ostatniego minęło już nieco (b. dużo) czasu, a po zmianie serwera problem pozostał... Wracając do tego, co już było:
Czy byłby ktoś w stanie napisać parser do tego pliku XML? Bardzo proszę o pomoc... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
daj sobie
Zobacz jakie masz zagłębienie a potem foreach i jedziemy. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 46 Pomógł: 6 Dołączył: 20.06.2005 Skąd: Pyskowice Ostrzeżenie: (0%) ![]() ![]() |
Skoro chcesz zaciągnąć to do arraya, to polecam zamiast bawić się w simplexml_load_file itp. wykorzystaj funkcję: xml_parse_into_struct. Potem już foreach itp.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
skowron-line - niestety, ale wyskakuje błąd:
Cytat Warning: simplexml_load_file() [function.simplexml-load-file]: wyklady.xml:7: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xA6 0x77 0x69 0x61 in /home/........ Próbowałem kilku rzeczy z naszego Forum... cały czas to samo ![]() Kihol - niekoniecznie "chcę" dać do array'a ![]() ![]() Ten post edytował roobik 3.02.2009, 17:30:34 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:37 |