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
marcinek37
post
Post #2





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

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


1. mam już troszkę rozszerzony kod:
  1. <?
  2. /* funkcja z manuala */
  3. function DOMinnerHTML($element)
  4. {
  5. $innerHTML = "";
  6. $children = $element->childNodes;
  7. foreach ($children as $child)
  8. {
  9. $tmp_dom = new DOMDocument();
  10. $tmp_dom->appendChild($tmp_dom->importNode($child, true));
  11. $innerHTML.=trim($tmp_dom->saveHTML());
  12. }
  13. return $innerHTML;
  14. }
  15.  
  16.  
  17. /* mój kod */
  18. $xml = '<categories>
  19.  
  20. <category>
  21. <id>1</id>
  22. <name>AAA</name>
  23. <photos>
  24. <photo1>nazwa.jpg</photo1>
  25. </photos>
  26. </category>
  27.  
  28. <category>
  29. <id>2</id>
  30. <name>BBB</name>
  31. <photos></photos>
  32. <text>
  33. <b>opis</b>
  34. </text>
  35. </category>
  36.  
  37. </categories>';
  38.  
  39.  
  40. $dom = new DOMDocument('1.0', 'utf-8');
  41. $dom->loadXML($xml);
  42. foreach($dom->getElementsByTagName('category') AS $category){
  43. $id = $category->getElementsByTagName('id')->item(0)->nodeValue;
  44. $name = $category->getElementsByTagName('name')->item(0)->nodeValue;
  45. $photo1 = $category->getElementsByTagName('photo1')->item(0)->nodeValue;
  46. $text = $category->getElementsByTagName('text')->item(0)->nodeValue;
  47.  
  48. echo'id: '.$id.'<br />';
  49. echo'name: '.$name.'<br />';
  50. echo'photo1: '.$photo1.'<br />';
  51. echo'text: '.$text.'<br />';
  52. }?>


2. $photo1 ściąga dane bezpośrednio z elementu "photo1", w ogóle omija fakt, że jest jeszcze wcześniej w elemencie "photos" - to chyba nieeleganckie, próbowałem wielu metod, aby w kodzie to zapisać, że element "photo1" jest w elemencie "photos", jednak zawsze wyrzucało błędy albo nie pokazywało niczego - jak mogę to ładnie zapisać?

3. element "text" ma kod HTML, który jest od razu kasowany, wyczytałem, że jest potrzebna funkcja DOMinnerHTML jednak przykład z manuala był o wiele prostszy niż ten, dlatego nie potrafię go zastosować - chcę, aby HTML został jedynie w elemencie "text"; tutaj również próbowałem na kilka sposóbów i żaden nie dał efektu... domyślam się, że moje oba problemy to pikuś, ale nie wiem, jak się za to zabrać :/

Ten post edytował marcinek37 10.04.2013, 23:43:36
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: 28.12.2025 - 15:27