Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][XML] Wybrany element
Killerek
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

Ostrzeżenie: (10%)
X----


Witam, przychodzę dziś do Was z prośbą zrobienia pewnego myku. Otóż mam taki dokument XML:
  1. <rss version="2.0">
  2. <channel>
  3. <title>coś coś coś</title>
  4. <link>http://www.coś.pl</link>
  5. <description>coś.pl - coś coś</description>
  6. <language>pl</language>
  7. <copyright>
  8. Copyright (c) 2005 coś. e-mail: coś@coś.pl
  9. </copyright>
  10. <pubDate>Thu,10 Jul 2014 11:48:19 GMT</pubDate>
  11. <lastBuildDate>Thu,10 Jul 2014 11:48:19 +0100</lastBuildDate>
  12. <image>
  13. <url>http://www.cos.pl/gfx/rsslogo.gif</url>
  14. <width>180</width>
  15. <height>44</height>
  16. <link>http://www.cos.pl/</link>
  17. <title>coś</title>
  18. </image>
  19. <generator>coś</generator>
  20. <item>
  21. <title>Element 1</title>
  22. <link>www.element1.pl</link>
  23. <description>Jest to pierwszy element</description>
  24. </item>
  25. <item>
  26. <title>Element 2</title>
  27. <link>www.element2.pl</link>
  28. <description>Jest to drugi element</description>
  29. </item>
  30. <item>
  31. <title>Element 3</title>
  32. <link>www.element3.pl</link>
  33. <description>Jest to trzeci element</description>
  34. </item>
  35. </channel>
  36. </rss>

Wyświetlam to w pliku PHP tak:
  1. <?php
  2. $lodadxml = simplexml_load_file('cos.xml');
  3.  
  4. foreach($lodadxml ->channel->item as $channel){
  5. echo $channel->title;
  6. }
  7. ?>

Wszystko działa okej, ale wyświetla mi wszystkie trzy elementy, a ja chcę aby wyświetlał np. tylko 3 element. Jak osiągnąć taki efekt? Proszę o szybką odpowiedź.

Pozdrawiam,
Killerek
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




echo $lodadxml ->channel->item[2]->title;
?
Go to the top of the page
+Quote Post
in5ane
post
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Najprościej to zrób sobie tak:
  1. <?php
  2. $loadxml = simplexml_load_file('cos.xml');
  3. $i = 1;
  4. foreach ($loadxml->channel->item as $channel)
  5. {
  6. if ($i == 3)
  7. {
  8. echo $channel->title;
  9. }
  10.  
  11. $i++
  12. }
  13. ?>


@edit: nospor dał Ci jeszcze lepszą odpowiedź (IMG:style_emoticons/default/tongue.gif)

Ten post edytował in5ane 10.07.2014, 11:16:42
Go to the top of the page
+Quote Post

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: 24.08.2025 - 16:38