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
 
 » ReeX 22:44
 » Wedrowiec 22:42
 » Conan Bar 22:41
 » DYD 22:39
 » Pawiano 22:38
 » Shark20 22:31
 » Wedelek 22:29
 » Kool@ 22:27
 » rbxxxx 22:25
 » stefan_nu 22:22
 » Curro 22:20
 » Holyboy 22:17
 » fiskomp 22:10
 » DJopek 22:10
 » Flo 22:09
 » Artaa 22:08
 » rainy 22:05
 » Demo 22:05
 » XepeR 22:05
 » ManiusNG 22:04

 Dzisiaj przeczytano
 41103 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
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-2024, TwojePC.PL