Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » wrrr 22:14
 » Wedelek 22:03
 » cVas 21:58
 » Kenny 21:50
 » Artaa 21:45
 » nth4 21:44
 » Promilus 21:43
 » pwil2 21:43
 » Master/Pe 21:36
 » w1lko 21:34
 » bajbusek 21:34
 » Arlathan 21:27
 » Conan Bar 21:25
 » Pawiano 21:20
 » Banan 21:20
 » DYD 21:18
 » Rybeck 21:14
 » XepeR 21:08
 » luzak2363 21:07
 » Sherif 21:07

 Dzisiaj przeczytano
 68158 postów,
 wczoraj 82584

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[php5] simplexml nie działa , kubazzz 30/10/08 20:57
http://fubaz.blink.pl/test/test.php5

<?php
if (file_exists('plik.xml')) {
$xml = simplexml_load_file('plik.xml');
echo $xml->artykul[0]->id;
echo "<br/>jakieś bzdury<br/>";
echo $xml->artykul[0]->tytul;
echo "<br/>inne bzdury<br/>";
echo $xml->artykul[0]->uwagi;
echo "<br/>blablbbal<br/>";
print_r($xml);
}

else {
exit('Brak pliku bazy danych');
}

?>

http://fubaz.blink.pl/plik.xml

<artykul>
<id>1234567</id>
<tytul>przykładowy tytuł</tytul>
<uwagi>Uwagi dotyczące artykułu</uwagi>
</artykul>


i zobaczcie co dostaje..

po prostu $xml->artykul[0]->id; nie działa, jest pomijane.

ktoś ma koncepcję czemu?
taka składnia jest podana na php.net
przykład:
The simplicity of SimpleXML appears most clearly when one extracts a string or number from a basic XML document.

echo $xml->movie[0]->plot; // "So this language. It's like..."

SM-S908

  1. hmm update , kubazzz 30/10/08 21:06
    http://fubaz.blink.pl/test/plik.xml

    ani błędu ani nic,
    za to print_r($xml) działa...

    SM-S908

    1. Ehh... , Conroy 30/10/08 22:26
      Kubazz, zmęczony jesteś.
      Widzisz przecież co wypisuje print_r i nie ma tam elementu artykul. Artykuł to root element całego dokumentu i jest pomijamy przez php. Widzę, że dodatkowo chcesz mieć kilka artykułów - tak się nie da jak piszesz, oblecz ten plik w jakiś inny element główny np.:

      <wiadomosci>
      <artykul>
      <id>1234567</id>
      <tytul>przykładowy tytuł</tytul>
      <uwagi>Uwagi dotyczące artykułu</uwagi>
      </artykul>
      <artykul>
      <id>2</id>
      <tytul>przykładowy tytuł 2</tytul>
      <uwagi>Uwagi dotyczące artykułu 2</uwagi>
      </artykul>
      </wiadomosci>



      Poniżej trochę teorii.

      Zajrzyj na W3Schools do XML
      http://www.w3schools.com/xml/xml_tree.asp

      Cyt.
      "
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <note>
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
      </note>
      "

      "The next line describes the root element of the document (like saying: "this document is a note"):"

      "XML documents must contain a root element. This element is "the parent" of all other elements."


      Później zajrzyj na stronę PHP
      http://pl.php.net/...ction.simplexml-load-file.php
      do Example #1 Interpret an XML document.
      Chodzi w szczególe o linie komentarza
      "// The file test.xml contains an XML document with a root element
      // and at least an element /[root]/title."
      króte mówią, że w dokumencie masz jakiś root i w nim zawarty title.

      A następnie spójrz na wydruk:
      "
      SimpleXMLElement Object
      (
      [title] => Example Title
      ...
      )
      "
      Gdzię root nie jest wyświetlony i w ogóle wczytany do tablicy.

      http://flickr.com/photos/myhacien
      da

      1. dzięki za wyjaśnienie , kubazzz 30/10/08 22:35
        ogólnie, ja jestem ostatnio w słabej kondycji psychofizycznej i rzeczywiście się wykładam na wszystkim co wymaga myślenia :/

        SM-S908

  2. nie znam XMLa ani jego obsługi w PHP i się tego wstydzę , bwana 30/10/08 22:18
    ale między Twoim przykładem a przykładem z manuala widzę pewną różnicę:

    u Ciebie jest <artykul>...</artykul> a w przykładzie (znalazłem go w manualu) jest
    <movies>
    <movie>...</movie>
    <movie>...</movie>
    </movies>

    Jednym słowem w przykładzie z manuala powtarzalna informacja jest otoczona znacznikiem występującym raz - być może ma to znaczenie. Niezależnie od tego, to co pokazuje print_r faktycznie sugeruje, że Twoje użycie jest poprawne. Tak czy siak, sprawdź, czy otoczenie pojedynczych artykułów znacznikiem: <artykuly>...</artykuly> nie pomoże.

    "you don't need your smile when I cut
    your throat"

    1. odpaliłem apacza, sprawdziłem, miałem rację , bwana 30/10/08 22:28
      poza Tym włącz sobie komunikaty o błędach, u mnie Twój przykład wyświetlił: Notice: Trying to get property of non-object in (...)\xml\test.php

      Aby widzieć więcej komunikatów o błędach, wywołaj na początku skryptu funkcję error_reporting, najlepiej z parametrem E_ALL (patrz manual) lub zainteresuj się ustawieniem display_errors w php.ini. Zdrówka!

      "you don't need your smile when I cut
      your throat"

    2. hmm , kubazzz 30/10/08 22:28
      faktycznie, pomogło, nie zwróciłem na to uwagi...
      ech..

      SM-S908

  3. No normalnie nie czytasz moich maili :) , Mcmumin 30/10/08 22:32
    Przecież Ci to poprawnie sformatowałem:
    <artykuly>

    <artykul>
    <tytul>jak zlozyc model?</tytul>
    <baza>poradniki</baza>
    <id>10254672</id>
    </artykul>

    </artykuly>
    albo JSON:
    {
    " artykuly" : {
    "artykul" : [
    {
    "tytul" : "jak zlozyc model?",
    "baza" : "poradniki",
    "id" : "10254672"
    },
    {
    "tytul" : "jak zlozyc model 2?",
    "baza" : "poradniki cioci Weroniki",
    "id" : "10255454"
    }
    ]
    }
    }

    1. czytalem, czytalem , kubazzz 30/10/08 22:43
      mea culpa..
      po prostu to jest tak, ze ja jestem apacz
      a pacze, a pacze ,a nic nie widze ...
      :/

      SM-S908

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL