PHP4のXML解析に関する質問です。

例としてsample.xmlの内容は以下のようにします。
<フルーツ>
<あか>
<なまえ>りんご</なまえ>
<image_url>1.jpg</image_url>
<説明文>あますっぱい</説明文>
</あか>
<きいろ>
<なまえ>ばなな</なまえ>
<image_url>2.jpg</image_url>
<説明文>げんきがでる</説明文>
</きいろ>
<みどり>
<なまえ>すいか</なまえ>
<image_url>3.jpg</image_url>
<説明文>あまくておいしい</説明文>
</みどり>
</フルーツ>
XMLファイルを解析して下記のように表示させるためにはどのようにコード書けばいいのか分からないでいます。。
<html>
りんご<br/ >
<img src="1.jpg"><br />
あますっぱい<br/ >
ばなな<br/ >
<img src="2.jpg"><br />
げんきがでる<br/ >
すいか<br/ >
<img src="3.jpg"><br />
あまくておいしい<br/ >
</html>
PHP5だとsimplexml関数を使えるんですが、PHP4であるレンタルサーバだと使えないのでXML_peaser関数?を使う必要があるところまで理解できているんですが。。
誰か教えていただけますでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/08/30 17:08:30
  • 終了:2007/08/31 09:42:27

回答(3件)

id:KUROX No.1

KUROX回答回数3542ベストアンサー獲得回数1402007/08/30 18:11:22

ポイント23pt

http://techblog.ecstudio.jp/tech-tips/xml_unserializer.html

・Keith Devens - PHP XML Library

・XML_Unserializer

を使うほうが楽そうな気はしますが・・・。

id:makotoworld

このURLは知っているんですが、それをどのように上記のHTMLに生成するのかを知りたいんです。

ちょんと質問みて答えてくださいよ。。汗

2007/08/30 23:58:56
id:minkpa No.2

minkpa回答回数4178ベストアンサー獲得回数552007/08/31 04:41:57

ポイント23pt

http://vod.sjtu.edu.cn/help/Article_Show.asp?ArticleID=590

こちらのサイトが参考になると思います。

id:makotoworld

URLだけ?

しかもPHP5仕様じゃないですか。。

2007/08/31 06:52:40
id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/08/31 09:01:55

ポイント34pt

手元に PHP4 の環境が無いので未チェック。

必要に応じて UTF8 に変更するなどの処理を加えてください。

$xml = '
<フルーツ>
<あか>
<なまえ>りんご</なまえ>
<image_url>1.jpg</image_url>
<説明文>あますっぱい</説明文>
</あか>
<きいろ>
<なまえ>ばなな</なまえ>
<image_url>2.jpg</image_url>
<説明文>げんきがでる</説明文>
</きいろ>
<みどり>
<なまえ>すいか</なまえ>
<image_url>3.jpg</image_url>
<説明文>あまくておいしい</説明文>
</みどり>
</フルーツ>
' ;

$starttable = Array(
  'フルーツ' => "<html>\n",
  'IMAGE_URL' => '<img src="'
  ) ;
$endtable = Array(
  'フルーツ' => "</html>\n",
  'IMAGE_URL' => "\" /><br />\n",
  '説明文' => ''
  ) ;

function startElement($p, $n) {
  global $starttable ;
  echo isset($starttable[$n]) ? $starttable[$n] : '' ;
}

function endElement($p, $n) {
  global $endtable ;
  echo isset($endtable[$n]) ? $endtable[$n] : "<br />\n" ;
}
function characterData($p, $d)
{
  echo chop($d) ;
}

$p = xml_parser_create() ;
xml_set_element_handler($p, 'startElement', 'endElement') ;
xml_set_character_data_handler($p, "characterData");
xml_parse($p, $xml) ;

PHP: XML パーサ関数 - Manual

id:makotoworld

ありがとうございます!

参考になりました。

2007/08/31 09:21:20
  • id:KUROX
    >それをどのように上記のHTMLに生成するのかを知りたいんです。
    正しいかどうか不明だけど、
    力ずくで、ファイル出力したら出来上がります。

    DOMとかSAXとか使わないと駄目と言う用件なら、使って
    出力するしかないと思います。
  • id:makotoworld
    すみません。
    私も初心者で分からない部分が多く、きつい返事出してしまって。。
    でも親切にありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません