В вашем последнем посте речь идет об
xml-файлах, с которыми работает
Flashmenulabs.
Для разбора
xml-документов, если всё делать "по науке", конечно нужен
xml-парсер.
Таких парсеров в свободном доступе имеется
великое множество. Они есть во всех серьезных
IDE и для всех языков программирования. Позвольте мне не предлагать вам
конкретных решений.
Однако, как вариант, хочу предложить ещё один способ решения вашей задачи, на основе
flash-компонентов из
этого и
этого семейств.
В части создания
flash-меню возможности
Flashxml.net чуть более скромные, чем у
Flashmenulabs, но в целом набор
flash-компонентов существенно богаче.
Я их использовал для создания фотогалерей
на известном вам сайте. Пожалуйста, посмотрите. Там сделано так: все фото-демонстраторы на сайте исходные фото берут по сети из
web-альбомов
Picasы (вероятно, вам известен этот замечательный бесплатный
сервис Googlа). Таким образом фото, выложенные участниками некоторого сообщества в общие альбомы на
Picasу, автоматически демонстрируются на сайте. На мой взгляд, весьма удобное и очень экономичное решение.
Для того, чтобы "взять" у
Picasы необходимую информацию и создать
xml-файлы с нужными тегами для фото-демонстраторов на сайте, я написал пару маленьких кусочков
php-кода.
Например, для фотогалереи
Elite Gallery FX этот код выглядит так:
- Код: выделить все
<?php
$userid = 'telnov11';
$album = 'dorfman_flashxml';
// build feed URL
$feedURL = "http://picasaweb.google.com/data/feed/api/user/$userid/album/$album";
// $feedURL = "http://picasaweb.google.com/data/feed/api/user/$userid?kind=photo";
// read feed into SimpleXML object
$sxml = simplexml_load_file($feedURL);
echo "<images>\n";
foreach ($sxml->entry as $entry) {
$title = $entry->title;
$summary = $entry->summary;
$gphoto = $entry->children('http://schemas.google.com/photos/2007');
$size = $gphoto->size;
$height = $gphoto->height;
$width = $gphoto->width;
$media = $entry->children('http://search.yahoo.com/mrss/');
$thumbnail = $media->group->thumbnail[2];
$content = $media->group->content;
$tags = $media->group->keywords;
echo "<photo image=\"";
// url big photo
echo $content->attributes()->{'url'};
echo "\" >";
echo "<![CDATA[<head>";
echo $summary ;
echo "</head><body>";
echo $title ;
echo "</body>]]>";
echo "</photo>";
echo "\n";
}
echo "</images>";
?>
Здесь уникальными данными являются только
$userid = 'telnov11';
$album = 'dorfman_flashxml';
Остальной код универсален и будет хорошо работать и для вас тоже.
Аналогичный
php-код, формирующий
xml-файл для фотогалереи
Tiltviewer, выглядит так:
- Код: выделить все
<?php
$userid = 'telnov11';
$album = 'dorfman_tiltviewer';
// build feed URL
$feedURL = "http://picasaweb.google.com/data/feed/api/user/$userid/album/$album";
// $feedURL = "http://picasaweb.google.com/data/feed/api/user/$userid?kind=photo";
// read feed into SimpleXML object
$sxml = simplexml_load_file($feedURL);
echo "<tiltviewergallery><photos>\n";
foreach ($sxml->entry as $entry) {
$title = $entry->title;
$summary = $entry->summary;
$gphoto = $entry->children('http://schemas.google.com/photos/2007');
$size = $gphoto->size;
$height = $gphoto->height;
$width = $gphoto->width;
$media = $entry->children('http://search.yahoo.com/mrss/');
$thumbnail = $media->group->thumbnail[2];
$content = $media->group->content;
$tags = $media->group->keywords;
echo "<photo imageurl=\"";
// url van photo
echo $thumbnail->attributes()->{'url'};
echo "\" linkurl=\"";
echo $content->attributes()->{'url'};
echo "\" >";
echo "<title>";
echo $title ;
echo "</title>";
echo "<description>";
echo $summary ;
echo "</description>";
echo "</photo>";
echo "\n";
}
echo "</photos></tiltviewergallery>";
?>
Вы можете спросить, а где здесь
Ajax?
Ответ: технология типа
Ajax работает внутри
Flashxml.net через
ActionScript, вам не о чем беспокоиться.
Буду рад, если информация окажется полезной.