Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml][DOM] sama podstawa
marcinek37
post
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


Mam kod:
  1. <?
  2. $doc = new DOMDocument();
  3. $doc->loadHTML('<HTML><A HREF="ss">asd</A>');
  4. echo $doc;
  5. ?>


Dopóki nie dodam ostatniej linijki, błędu nie ma. Jeśli tylko dowiem się w czym leży problem, od razu będę mógł iść dalej z tematem.

phhpinfo() mówi:
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.26
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


przede wszystkim zawsze wyświetlaj sobie błędy:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', '1');

po drugie nie zawsze miałeś elementy których szukałeś
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. ini_set('display_errors', '1');
  4.  
  5. function DOMinnerHTML($element) {
  6. $children = $element->childNodes;
  7. $tmp_dom = new DOMDocument();
  8. foreach ($children as $child) {
  9. $tmp_dom->appendChild($tmp_dom->importNode($child, true));
  10. }
  11. return trim($tmp_dom->saveHTML());
  12. }
  13.  
  14. $xml = '<categories>
  15.  
  16. <category>
  17. <id>1</id>
  18. <name>AAA</name>
  19. <photos>
  20. <photo1>nazwa.jpg</photo1>
  21. </photos>
  22. </category>
  23.  
  24. <category>
  25. <id>2</id>
  26. <name>BBB</name>
  27. <photos></photos>
  28. <text>
  29. <b>opis</b>
  30. </text>
  31. </category>
  32.  
  33. </categories>';
  34.  
  35. $dom = new DOMDocument('1.0', 'utf-8');
  36. $dom->loadXML($xml);
  37. foreach ($dom->getElementsByTagName('category') AS $category) {
  38. $oId = $category->getElementsByTagName('id')->item(0);
  39. $oName = $category->getElementsByTagName('name')->item(0);
  40. $oPhoto1 = $category->getElementsByTagName('photo1')->item(0);
  41. $oText = $category->getElementsByTagName('text')->item(0);
  42. // ->item() zwraca Element lub NULL
  43. $id = $oId ? $oId->nodeValue : '';
  44. $name = $oName ? $oName->nodeValue : '';
  45. $photo1 = $oPhoto1 ? $oPhoto1->nodeValue : '';
  46. $text = $oText ? DOMinnerHTML($oText) : '';
  47.  
  48. echo 'id: ', $id, '<br />';
  49. echo 'name: ', $name, '<br />';
  50. echo 'photo1: ', $photo1, '<br />';
  51. echo 'text: ', $text, '<br />';
  52. }
Go to the top of the page
+Quote Post

Posty w temacie
- marcinek37   [xml][DOM] sama podstawa   8.04.2013, 14:15:55
- - nospor   CytatDopóki nie dodam ostatniej linijki, błędu nie...   8.04.2013, 14:20:51
- - marcinek37   kompletnie wypadło mi z głowy, taki jest błąd: Ca...   8.04.2013, 17:03:10
- - melkorm   RTFM http://pl1.php.net/manual/en/domdocument.save...   8.04.2013, 17:14:26
- - marcinek37   czy macie może linka do jakiegoś poradnika, ale w ...   8.04.2013, 17:30:53
- - zegarek84   niestety większość materiałów jest po angielsku......   8.04.2013, 21:24:37
- - marcinek37   zrobiłem postępy w temacie, ale zatrzymałem się na...   8.04.2013, 23:23:09
- - nospor   CytatWszystko jest ok, ale wartości się nie pokazu...   9.04.2013, 06:41:31
- - marcinek37   Po dodaniu tego kodu pokazują się takie błędy: Not...   9.04.2013, 11:24:13
- - zegarek84   [PHP] pobierz, plaintext <?phperror_reporting...   9.04.2013, 20:01:30
- - marcinek37   świetnie, działa! a powiedz mi, "duże...   9.04.2013, 22:49:54
- - zegarek84   to zależy od ustawień serwera... ale każdy plik wc...   9.04.2013, 23:06:59
- - marcinek37   ok, a masz może jakiegoś linka do jakiegoś poradni...   10.04.2013, 00:51:33
- - zegarek84   popisz trochę w JavaScript, korzystaj z narzędzi t...   10.04.2013, 11:48:50
- - marcinek37   1. mam już troszkę rozszerzony kod: [PHP] pobierz,...   10.04.2013, 23:43:23
- - zegarek84   przede wszystkim zawsze wyświetlaj sobie błędy: er...   11.04.2013, 08:56:03
- - marcinek37   bardzo Ci dziękuję! 1. specjalnie w drugim pr...   11.04.2013, 11:11:22
|- - zegarek84   Cytat(marcinek37 @ 11.04.2013, 12:11...   11.04.2013, 12:58:51
- - marcinek37   czyli muszę korzystać z DOMDocument oraz DOMXPath,...   11.04.2013, 15:25:13
- - zegarek84   z PHP tak na szybko to przeczytaj sobie np. to: ht...   11.04.2013, 17:24:50
- - marcinek37   troszkę ciekawych informacji z tego linka wyciągną...   11.04.2013, 23:01:47
|- - zegarek84   Cytat(marcinek37 @ 12.04.2013, 00:01...   11.04.2013, 23:21:19
- - marcinek37   1. wydaje się, że to ta metoda: createElement prze...   12.04.2013, 01:04:14
- - zegarek84   HTML nie zawsze jest poprawnym dokumentem XML ;] -...   12.04.2013, 11:51:23
- - marcinek37   bardzo dziękuję za informacje szkoda tylko, że tr...   12.04.2013, 11:56:27
- - zegarek84   poprawiłem powyższy kod - xpath nie musisz używać ...   12.04.2013, 12:16:14
- - marcinek37   na razie nie chcę korzystać z DOMXPath, a skupić s...   12.04.2013, 15:45:21
- - zegarek84   przecież napisałem Ci wyżej, iż .load służy do wcz...   12.04.2013, 16:46:21
- - marcinek37   przepraszam, źle odczytałem Twoje wskazówki, jest ...   12.04.2013, 17:28:25
- - zegarek84   nie jestem z zawodu programistą ale dawniej do par...   12.04.2013, 21:24:10
- - marcinek37   przepraszam, że odpisuję Ci dopiero teraz, ale cał...   14.04.2013, 23:12:43


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: 10.10.2025 - 18:10