Как разместить XML-файл на сайте? - PullRequest
1 голос
/ 21 января 2010

Я бы хотел добавить контент в мою Joomla! сайта с помощью .xml канала, который предлагается компанией, к которой я принадлежу. У компании есть доступный канал .xml, поэтому партнеры могут получать обновления автоматически. Я думал, что смогу использовать встроенную программу чтения новостей, но служба технической поддержки компании быстро сообщила мне, что программа чтения RSS-лент не справится с этой задачей. Хотя мне кажется, что программа чтения RSS-каналов по сути разбирает .xml?

Кто-нибудь имел какой-либо опыт или совет с Joomla! отобразить результаты фида .xml, который не является rss?

<?xml version="1.0" encoding="utf-8" ?>
<videos>
<item>
<title>Raja Mahal</title><categories>Movies</categories><genre>Drama, Action &amp; Adventure</genre><description>A Zamindar’s son working as an ordinary mill worker gives shelter to an escaped convict. The convict, however, dupes his benefactor and goes to the Zamindar’s place posing as the heir to the property. &lt;br/&gt;&lt;br/&gt;</description><vid>52585</vid><keywords>Drama, crime, thriller, stunts, revenge,  Krishna, Vijaya Lalitha, Krishnam Raju, Telugu Movies, 70s movies, K.V. Chalam, Jyothi Lakshmi, Rama Kameswara, </keywords><duration>136.10</duration><embed>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.rajshritelugu.com/players/affplayer.swf?blogid=A6D70264-037C-453B-8A01-1089F183E5A7_1070&amp;flashpath=http://www.rajshritelugu.com/"&gt;&lt;/param&gt;&lt;embed src="http://www.rajshritelugu.com/players/affplayer.swf?blogid=A6D70264-037C-453B-8A01-1089F183E5A7_1070&amp;flashpath=http://www.rajshritelugu.com/" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;</embed><thumbnail>http://rajshri-c-18.vo.llnwd.net/d1/content/Telugu/Movies/52585.jpg</thumbnail>
</item>
<item>
<title>Bezawada Bebbuli</title><categories>Movies</categories><genre>Drama, Action &amp; Adventure</genre><description>A righteous lawyer is killed when the thug he wants to expose kills him. One of his sons grows up to become a cop while the younger one becomes a criminal.  </description><vid>52579</vid><keywords>Drama, suspense, thriller, revenge, comedy, humour, Krishna, Sri Priya, Radhika, Sivaji Ganesan, Satyanaryana, Sutti Verabhadra Rao, Shyamala Gouri, Sowcar Janaki, Mada, Sakshi Ranga Rao</keywords><duration>112.09</duration><embed>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.rajshritelugu.com/players/affplayer.swf?blogid=C53B4659-1E82-4152-82A7-5FBF162BDB66_1070&amp;flashpath=http://www.rajshritelugu.com/"&gt;&lt;/param&gt;&lt;embed src="http://www.rajshritelugu.com/players/affplayer.swf?blogid=C53B4659-1E82-4152-82A7-5FBF162BDB66_1070&amp;flashpath=http://www.rajshritelugu.com/" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;</embed><thumbnail>http://rajshri-c-18.vo.llnwd.net/d1/content/Telugu/Movies/52579.jpg</thumbnail></item>
</videos>

это URL, откуда я получил этот XML-файл: http://www.rajshri.com/syndicate/?uid=1070&sig=b20aee5e1336fb1ffb4f520e67e89a75&lang=telugu&channel=movies

Ответы [ 3 ]

3 голосов
/ 25 января 2010

Во-первых, программа чтения RSS действительно читает XML. Однако он читает файлы XML, которые имеют определенную структуру (RSS). Указанный выше источник файла отсутствует в структуре RSS, поэтому читатель RSS не сможет его понять. Более общий читатель XML сможет проанализировать его для вас, но вам нужно будет указать ему, что делать с данными (по сути, он не будет знать, как вы хотите разместить различные элементы на странице).

Joomla построен на PHP и имеет возможность добавлять расширения и созданный пользователем код. Обычно это соответствует принципу разработки Модель / Контроллер / Представление, но если вы создаете только одну страницу PHP, которая извлекает XML, анализирует ее с помощью синтаксического анализатора XML PHP и выводит на экран нужный вам контент, вы можете установить его в Joomla как компонент и укажите пункт меню или установите его как модуль, и он появится на боковой панели другой страницы.

Если вы не хотите иметь дело с внутренней работой Joomla, у вас может быть внешний скрипт на вашем сервере (с использованием PHP или другого языка программирования), который захватывает файл XML с удаленного сервера, анализирует его с его XML читатель, и поворачивается и выводит тот же контент в XML-структурированный файл XML. Тогда вы могли бы указать читателю RSS Joomla на тот внешний скрипт, который действует как интерпретатор данных.

Или, если ваша цель - разрешить пользователям загружать файл с вашего сайта и делать с ним что-то еще, либо поместите ссылку в статье на файл на удаленном сервере, либо установите расширение, например Phoca Download , что позволит вашей установке Joomla самостоятельно разместить файл, отследить количество загрузок и установить защиту для файла.

0 голосов
/ 21 января 2010

Выберите язык программирования (например, Perl ), выберите библиотеку синтаксического анализа XML (например, XML :: LibXML ), прочитайте данные, извлеките нужные биты (например, с помощью DOM или XPath ), а затем сгенерируйте некоторый HTML (например, с языком шаблонов , таким как TT2 ).

Вы можете создавать статические файлы или использовать веб-фреймворк, такой как CGI :: Application или Catalyst .

0 голосов
/ 21 января 2010

Создайте папку на вашем сайте под названием «XMLFiles». Создайте в этой папке файл с именем «Videos.xml» и поместите в него свой XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...