Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Разчитане на RSS файлове чрез SimpleXML в PHP5
  1. RSS parser - SimpleXML
     
Автор  plamenSm (06.04.2008 16:43)  съобщение до автора
Погледнат  1840 пъти  добави към любими
Оценка  добави коментар
Гласове  --  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 1 / 1

 



RSS (Really Simple Syndication) е технология, която събира на едно място връзки към материали публикувани на различни Интернет сайтове. RSS потока съдържа в себе си заглавие, автор, коментари и връзка към конкретния материал.

В този урок ще разгледаме един прост пример за разчитане (parsing) на XML документ и по-точно на RSS форматиран XML файл. За целта ще използваме новото разширение SimpleXML, което е въведено в PHP5.

Ако искате да проследите урока по-добре и да изпробвате скрипта, ще ви е необходим RSS XML файл. Такъв може да изтеглите от който и да е RSS източник. Например http://dv.parliament.bg/rss2.php. Отворете линка и запишете сорс кода във файл theRSS.xml.


И така да проследим PHP кода:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
// Прочитаме XML данните от файла още с конструирането на обект от класа SimpleXMLElement. 
// Вторият параметър (NULL) позволява да се зададат допълнителни параметри за libxml,
// в нашия пример това не е необходимо и оставяме параметъра NULL. Третият параметър определя
// как да се интерпретира първия: true - това е име на файл; false - това е стринг, който съдържа XML.

$pFile = new SimpleXMLElement('theRSS.xml', null, true)

// След като сме заредили нашия XML файл, можем да започнем с разчитането му (parse).
// Знаем, че по спецификация във RSS документа трябва да има поне един елемент "channel",
// така, че организираме цикъл по тези елементи (канали).
foreach ($pFile->channel as $pChild)
{   
   
// Извеждаме информация за канала. Това става просто, тъй като документа е „парснат” като обекти в паметта.
    // Знаем и public променливите на тези обекти от RSS спецификацията: title, descripting и link
   
echo "<h1>" . $pChild->title . "</h1>\n";
   
echo "<p>\n";
   
echo $pChild->description . "<br />\n";
   
printf('Посетете ни на адрес: <a href="%s">%s</a><br />' . "\n"$pChild->link, $pChild->link);
   
echo "</p>\n";
   
   
// Сега трябва да организираме подобен цикъл за елементите на този канал

   
foreach ($pFile->channel->item as $pItem)
    {
       
echo "<p>\n";
       
       
// Ако текущия $pItem, съдържа поделементи, също ги обхождаме в цикъл
        // и издеждаме данните
       
foreach ($pItem->children() as $pChild)
        {
           
// Чрез метода getName() взимаме името на елемента и извеждаме по
            // подходящ начин информацията от познатите елементи: „title” и „link”.
            // Останалите елементи (предполага се, че това е само „description”) извеждаме директно,

            // като само заменяме символите за нов ред с „<br />” (line break)

     
switch ($pChild->getName())
            {
               
case 'title':
                   
echo "<b>$pChild</b><br />\n";
                   
break;
                   
               
case 'link':
                   
printf('<a href="%s>%s</a><br />' . "\n", $pChild, $pChild);
                   
break;
                   
               
default:
                   
echo nl2br($pChild) . "<br />\n";
                   
break;
           
}
        }
       
       
echo "</p>\n";
   
}
}
?>


За да стартирате примера трябва XML файлът да бъде в същата директория в която е PHP скрипта.

С цел да се опрости примера и да се наблегне на същността, в него не са включени проверки за грешки и валидизации.

Това е всичко необходимо, което трябва да знаете за SimpleXML за да създадете RSS parser.

Този пример заедно с Създаване на RSS документи с DOM API в PHP5 ще ви помогнат да създадавате и разчитате RSS файлове с помощта на 2 от новите разширения на PHP5 - класовете DOMDocument и SimpleXMLElement.


Източник: talkphp.com



   


Ключови думи: PHP rss simplexml xml parser PHP5


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008