
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で処理するにはどうしたらいいのでしょう?
No.1ベストアンサー
- 回答日時:
IEで以下のエラーが出ます。
=>XMLのドキュメントルートがないからじゃないですか。
header('Content-Type: text/xml; charset=utf-8');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"."\n";
echo "<hoge>";
echo func1();
echo func2();
echo "</hoge>";
それから改行文字は不要だと思うんですけど(人間が見るなら見やすいですが)
SimpleXMLで処理するにはどうしたらいいのでしょう?
=>simplexml_load_string関数とかsimplexml_load_file関数です。
http://www.phppro.jp/phpmanual/php/book.simplexm …
SimpleXMLは、出来上がってるXMLを簡易にパースするのに使います。
新たにXMLを生成するなら、DOM関数では、
http://www.php.net/manual/ja/book.dom.php
丁寧に回答ありがとうございます。
ドキュメントルートを入れたらできました。
SimpleXMLとDOMの使い方の違いもいまいちわかってなかったので勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのurlパラメータで取得した...
-
PEAR::AUTHにて情報の引き継ぎ
-
BASIC認証のユーザー名をPHPで...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
Apache 2.4でphp-5.3を使いたい...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
header(Location:~)で$_SESS...
-
さくらインターネットでメール...
-
フォームで戻った際に入力済み...
-
PHPでメールを受信するには?
-
php4とphp5での数値の取り扱い...
-
PEAR(Image_QRCode)のエラー
-
テレメールとは?
-
再度、xamppにおけるjpgraphの...
-
<A href ~ と一緒に値を渡すには
-
PHP版のPDFlibのインストール
-
【PHP】tmp_nameの命名規約につ...
-
PHPからMSSQLへの接続結果の文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php で C言語のdefineマクロの...
-
「include()」関数の使い方につ...
-
index.phpで外部PHPファイルを...
-
echoの出力がうまくできない
-
PHPのタイムアウトについて
-
曜日に色をつけたいのですがわ...
-
PHPでxmlファイルへのデータの...
-
PHPでパラメータ取得
-
phpの改行コードについて
-
phpの言語のエラーについて
-
PHP Mysql SELECTであいまい検...
-
PHPのstrpbrk関数ってひらがな...
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
おすすめ情報