Хранение данных в db - это, безусловно, лучший способ, если вам нужно выполнить определенные запросы. Я также использую TheTVDB API (интегрированные в Wordpress), и я могу дать вам некоторый PHP-код. Сначала вам нужно создать БД со следующим кодом, тогда у вас есть PHP-скрипт, который вставляет данные из XML-url телешоу.
SQL-запрос:
CREATE TABLE IF NOT EXISTS `tvshowsinfo` (
`id` int(9) NOT NULL AUTO_INCREMENT,
`showname` varchar(255) CHARACTER SET utf8 NOT NULL,
`lang` varchar(255) CHARACTER SET utf8 NOT NULL,
`episodeid` int(9) NOT NULL,
`episodenumber` int(5) NOT NULL,
`season` int(5) NOT NULL,
`director` varchar(255) CHARACTER SET utf8 NOT NULL,
`episodename` varchar(255) CHARACTER SET utf8 NOT NULL,
`firstaired` varchar(255) CHARACTER SET utf8 NOT NULL,
`gueststars` text CHARACTER SET utf8 NOT NULL,
`overview` text CHARACTER SET utf8 NOT NULL,
`rating` varchar(255) CHARACTER SET utf8 NOT NULL,
`ratingcnt` int(9) NOT NULL,
`writer` varchar(255) CHARACTER SET utf8 NOT NULL,
`episodeimg` varchar(255) CHARACTER SET utf8 NOT NULL,
`seasonid` int(9) NOT NULL,
`seriesid` int(9) NOT NULL,
`thumbht` int(4) NOT NULL,
`thumbwd` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
PHP/Wordpress сценарий:
<?php
$url = "Your URL";
$xmlstr = file_get_contents($url);
$elements = json_decode(json_encode((array)simplexml_load_string($xmlstr)),1);
global $wpdb;
$mquery = "INSERT INTO tvshowsinfo (showname,lang,episodeid,episodenumber,season,director,episodename,firstaired,gueststars,overview,rating,ratingcnt,writer,episodeimg,seasonid,seriesid,thumbht,thumbwd) VALUES ";
$i = 0;
foreach ($elements['Episode'] as $element) {
if ($i !== 0) { $mquery .= ", "; }
if ($element["Combined_season"] !== "0") {
$mquery .= "('".mysql_real_escape_string($_POST["seriesname"])."', '".$element["Language"]."', '".$element["id"]."', '".$element["Combined_episodenumber"]."', '".$element["Combined_season"]."', '".mysql_real_escape_string($element["Director"])."', '".mysql_real_escape_string($element["EpisodeName"])."', '".$element["FirstAired"]."', '".mysql_real_escape_string($element["GuestStars"])."', '".mysql_real_escape_string($element["Overview"])."', '".$element["Rating"]."', '".$element["RatingCount"]."', '".mysql_real_escape_string($element["Writer"])."', 'http://thetvdb.com/banners/".$element["filename"]."', '".$element["seasonid"]."', '".$element["seriesid"]."', '".$element["thumb_height"]."', '".$element["thumb_width"]."')";
$i++;
}
}
$wpdb->query($mquery);
$wpdb->print_error();
/* DEBUG */
?>
<pre><?php print_r($elements); ?></pre>
возможно дубликат [Стратегии осуществления поиска по файлу XML] (http://stackoverflow.com/questions/11210600/ strategy-to-implement-search-on-xml-file) –