<? Xml version = "1.0" encoding = "UTF-8"?>
<rss version="2.0">
<channel>
<link>
/windows/Web_Development
/ XML_CSS_Utilities/LatestReleases-1.html
</ Link>
<idioma> en-us </ language>
<image>
<url> /images/logo.gif </ url>
/ <link> </ link>
<description>
</ Description>
</ Image>
<item>
<title> Feed Mix </ title>
<link>
/windows/Web_Development/
XML_CSS_Utilities / Revisão Feed_Mix.html-
</ Link>
<description>
Feed Mix é uma característica-rico editor RSS com o exclusivo
capacidade de criar um novo feed RSS de vários outros
que já existem ...
</ Description>
</ Item>
<item>
<title> RSS Submit </ title>
<link>
/windows/Web_Development/
XML_CSS_Utilities / Revisão RSS_Submit.html-
</ Link>
<description>
RSS Submit é o mais poderoso feed RSS
ferramenta de promoção disponíveis ...
</ Description>
</ Item>
<Canal />
</ Rss>
XML significa Extensible Markup Language e é um subconjunto simplificado da Standard Generalized Markup Language (SGML). Seu objetivo principal é facilitar a partilha de dados entre diferentes sistemas de informação, particularmente sistemas ligados através da Internet.
RSS é um formato de distribuição de conteúdo Web. Seu nome é um acrônimo para Really Simple Syndication. Em outras palavras, RSS é um formato XML leve concebido para partilha de títulos e outros conteúdos da Web. Mais detalhes sobre RSS especificação 2.0 pode ser encontrado em http://blogs.law.harvard.edu/tech/rss .
Muitas vezes as pessoas querem ler arquivos rss e exibir o conteúdo em seu site usando um layout personalizado.
Este artigo representa um guia completo para todo o processo de análise de arquivos RSS 2.0 usando PHP.
Requisitos:
, A fim de ser capaz de testar o código deste tutorial, precisamos de ter instalado um servidor web (estou usando Apache: http://httpd.apache.org ) configurado com suporte a PHP ( http://www.php. net ).
Você pode encontrar lotes de artigos e tutoriais na web sobre como instalar o Apache eo PHP.
Método disponível para analisar um arquivo XML.
Atualmente, existem dois métodos usados pelos desenvolvedores para ler arquivos XML, não importa o que a linguagem de programação pode ser: SAX (Simple API para XML) e DOM (Document Object Model).
Vou descrever brevemente cada um destes métodos e, finalmente, escolher o melhor para nós.
SAX (Simple API for XML) é um evento baseado API. Cada vez que uma tag é aberta ou fechada, ou a qualquer momento o analisador encontra um texto, faz callbacks para funções definidas pelo usuário para cada evento com o nó ou informações de texto. A vantagem de um analisador SAX é que é realmente leve. O analisador não manter qualquer coisa na memória por muito tempo, então ele pode ser usado para arquivos extremamente grandes. A desvantagem é que a escrita função de evento SAX parser pode levar algum tempo e experiência de codificação.
O DOM (Document Object Model) define uma forma padrão para acessar e manipular documentos XML. O DOM apresenta um documento XML como uma estrutura de árvore (a árvore de nós), com os elementos, atributos e texto definido como nós. Implementação de uma API padrão DOM irá ler todo o documento XML na memória e fornecer um conjunto de funções para manipular os dados. A desvantagem desse método poderoso é que não é recomendado para grandes documentos XML, o que levaria muita memória para construir o modelo do documento.
Porque geralmente as pessoas estão lidando com arquivos de tamanho normal e nem todo mundo tem o tempo necessário ou habilidade para escrever um parser SAX todo nós vamos usar o método DOM.
Então vamos começar.
A fim de obter os dados úteis a partir do arquivo RSS é preciso percorrer os nós do item e extrair as informações que precisamos. Abaixo você pode encontrar o script para analisar o acima RSS feeds:
<? Php
DOMDocument $ doc = new ();
$ Doc-> load ('/rss/windows/Web_Development/XML_CSS_Utilities.xml');
$ ArrFeeds = array ();
foreach ($ doc-> nó getElementsByTagName ('item') as $) {
ItemRSS $ array = (
'Title' => $ node-> getElementsByTagName ('title') - item> (0) -> nodeValue,
'Desc' => $ node-> getElementsByTagName ('description') -> item (0) -> nodeValue,
'Link' => $ node-> getElementsByTagName ('link') -> item (0) -> nodeValue,
'Date' => $ node-> getElementsByTagName ("pubDate") -> item (0) -> nodeValue
);
array_push ($ arrFeeds, $ itemRSS);
}
?>
O script começa criando um novo objeto DOMDocument e carregar o arquivo RSS para esse objeto usando o método de carga. Depois disso, o script usa o método getElementsByName para obter uma lista de todos os elementos com o nome dado (no 'item' nosso caso).
Dentro do ciclo dos nodos item, o script usa o método getElementsByName para obter o nodeValue para as tags do título, descrição link, e data. O nodeValue é o texto dentro do nó. Uma matriz é utilizada para armazenar cada conjunto de valores e de cada matriz representa uma entrada na matriz grande que mantém os nossos dados estruturados RSS.
Como você pode ver, o trabalho foi fácil. Todos os dados agora é segurar pelo array $ arrFeeds, é bem estruturado e você pode exibi-lo usando o layout desejado.