※ ChatGPTを利用し、要約された質問です(原文:index.php から外部関数に飛び、文字列を返してきてindex.)
index.phpから外部関数に飛び、文字列を返してきてindex.phpでXML形式で表示するプログラムは?
このQ&Aのポイント
index.phpから外部関数に飛び、文字列を返してきてindex.phpでXML形式で表示するプログラムの書き方を教えてください。
index.phpでのXML表示方法がわかりません。
また、文字列をSimpleXMLで処理する方法も教えてください。
index.php から外部関数に飛び、文字列を返してきてindex.
index.php から外部関数に飛び、文字列を返してきてindex.phpで
XML形式で表示するプログラムはどのように書けばいいんでしょうか?
/* ---func1.php--- */
function func1($aa,$bb){
$xml_code = "<func1>\n";
$xml_code .= "<aaa>".$aaa."</aaa>\n";
$xml_code .= "<bbb>".$bbb."</bbb>\n";
$xml_code .= "</func1>\n";
return ($xml_code);
}
/* ---func2.php--- */
function func2($cc,$dd){
//DBからデータを取得して
$sql = "SELECT ccc, ddd, eee, tel FROM tbl_a WHERE id = ".$id;
$moji_db = "";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)){
$xml_code = "<func2>\n";
$xml_code .= "<ccc>".$row['ccc']."</ccc>\n";
$xml_code .= "<ddd>".$row['ddd']."</ddd>\n";
$xml_code .= "<eee>".$row['eee']."</eee>\n";
$xml_code .= "</func2>\n";
}
return ($xml_code);
}
index.php で
両方の$xml_codeを出力する
以上のようなプログラムなんですけど、
index.phpでのxmlでの表示の仕方がわかりません。
/* ---index.php--- */
<?php
// require
func1.phpとfunc2.php
function xml_make(&$xml ){
// DB 接続
// XML Header生成
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"."\n";
echo func1();
echo func2();
// XML Footer生成
// DB 切断
}
?>
としてindex.phpを実行するとIEで以下のエラーが出ます。
(firefoxではでません。両ブラウザ共、ソースを表示するとXML形式にはなっていますが・・)
「XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。
エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
--------------------------------------------------------------------------------
XML ドキュメント内では最上位の要素に限り、使用できます。
」
それと文字列($xml_code)をSimpleXMLで処理するにはどうしたらいいのでしょう?
お礼
丁寧に回答ありがとうございます。 ドキュメントルートを入れたらできました。 SimpleXMLとDOMの使い方の違いもいまいちわかってなかったので勉強になりました。