キーワード
作者・アーチスト・演者
すべて
和書
洋書
音楽
曲名から調べる
クラシック音楽
映画 DVD&VHS
DVD
VHS
ゲーム
家電 エレクトロニクス
ホーム&キッチン
おもちゃ&ホビー
PC ソフトウェア
EOF;
print("
\n");
//検索内容の表示
if($serchitem){
$file = $amazon_url;
$data_arry = array();
$depth = array();
$item_count = 0;
$item_name = array();
//XMLのパーサーの作成とパーサーの設定
//startElement、endElement、characterDataなどは$xml_parserが呼ばれたとき
//必要に応じて起動される関数です。
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("XML 入力をオープンできませんでした");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
//http://www.weblio.jp/content/xml_parse()
die(sprintf("XML エラー: %s が %d 行目で発生しました",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
//----------------
xml_parser_free($xml_parser);
//XMLを整形して表示します
print("検索結果 XML\n
\n");
print("
\n");
if($item_count){
print "検索数:" . $data_arry["TOTALRESULTS"] . "
";
}
if($data_arry){
print "\n";
}
if($data_arry["TOTALPAGES"] > 1){
print ("
最大ページ" . $data_arry["TOTALPAGES"] . "\n");
print ("\n");
}
//----------------------------------------------------
}
foot();
//━━━━━━━━━━━━━━━━━━━━━━━━━━
//----------------------------------------------------
//XMLの開始要素をハンドラとする
function startElement($parser, $name, $attrs)
{
global $item_count,$item_name,$depth;
$attrs = mb_convert_encoding ($attrs, "EUC-JP", "auto");
$name = mb_convert_encoding ($name, "EUC-JP", "auto");
if($name == "ITEM"){
$item_count++;
}
$depth[$parser]++;
$item_name[$depth[$parser]] = $name;
}
//XMLの終了要素をハンドラとする
function endElement($parser, $name)
{
global $item_name,$depth;
unset($item_name[$depth[$parser]]);
$depth[$parser]--;
}
//XMLの内部データをハンドラとする
function characterData($parser, $data)
{
global $data_arry,$item_count,$item_name,$depth;
$data = mb_convert_encoding ($data, "EUC-JP", "auto");
if($item_name[$depth[$parser]] == "DETAILPAGEURL"){
$data_arry[$item_count]["DETAILPAGEURL"] = $data;
}elseif($item_name[$depth[$parser]] == "TITLE"){
$data_arry[$item_count]["TITLE"] = $data;
}elseif($item_name[$depth[$parser]] == "URL"){
if($item_name[$depth[$parser]-1] == "SMALLIMAGE"){
$data_arry[$item_count]["SMALLIMAGE_URL"] = $data;
}
if($item_name[$depth[$parser]-1] == "MEDIUMIMAGE"){
$data_arry[$item_count]["MEDIUMIMAGE_URL"] = $data;
}
if($item_name[$depth[$parser]-1] == "LARGEIMAGE"){
$data_arry[$item_count]["LARGEIMAGE_URL"] = $data;
}
}elseif($item_name[$depth[$parser]] == "ASIN"){
$data_arry[$item_count]["ASIN"] = $data;
}elseif($item_name[$depth[$parser]] == "TOTALRESULTS"){
$data_arry["TOTALRESULTS"] = $data;
}elseif($item_name[$depth[$parser]] == "TOTALPAGES"){
$data_arry["TOTALPAGES"] = $data;
}elseif($item_name[$depth[$parser]] == "ITEMPAGE"){
$data_arry["ITEMPAGE"] = $data;
}
}
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//エラー
function error($text,$title="えらー")
{
print <<< HEAD
$title
$title
HEAD;
print $text;
print <<< FOOT
戻る
\n
FOOT;
exit();
}
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//ヘッダ表示
function head($title="ページ名設定なし") {
print <<< HEAD
$title
$title
HEAD;
}
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//フッタ表示
function foot() {
global $script_file;
print <<< FOOT
戻る
\n
FOOT;
exit();
}
?>