FC2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
ActionScript2のXMLパース(au編)
お疲れ様です。フッチーです。

ActionSript2のXMLパース(docomo編)にてdocomo端末でXMLパース出来るようになったんですが、こんどはau端末でXMLを読まなくなってしまいました。

XMLファイルを読み込ませてたときは問題なかったのに、PHPでXMLを生成すると問題あり・・・またまた何故?と思考錯誤。

PHPの中身は下のような感じ。
<?php
 $dom = new DomDocument('1.0');
 $books = $dom->appendChild($dom->createElement('books'));
 $book = $books->appendChild($dom->createElement('book'));
 //attributを追加してみる
 $book->setAttribute("answer", "OK");
 $title = $book->appendChild($dom->createElement('title'));
 //attributを追加してみる
 $title->setAttribute("res", "OK");
 $title->appendChild($dom->createTextNode('テスト'));
 // save XML as string or file
 $test1 = $dom->saveXML(); // put string in test1
 //$dom->save('test1.xml'); // save as file
 //print($test1);
?>

これで
<?xml version="1.0" ?>
<books>
  <book answer="OK">
   <title res="OK">テスト</title>
  </book>
</books>

というXMLが出来上がるんですが、docomo端末は問題なくくるけど、au端末はXMLじゃなくて、なんかHTMLが来てる。なんじゃこりゃあ!?状態に陥りました。

調べてみたら、au端末の場合は、必ず
header("Content-type:text/plain") をつけないといけないらしい。

他のキャリアは、このheaderあるなし関係ないようなので、つまりはつけとくのが無難。

<?php
 header("Content-type:text/plain"); //auには絶対的に必要 docomo、softBankには必要なし
 $dom = new DomDocument('1.0');
 $books = $dom->appendChild($dom->createElement('books'));
 $book = $books->appendChild($dom->createElement('book'));
 //attributを追加してみる
 $book->setAttribute("answer", "OK");
 $title = $book->appendChild($dom->createElement('title'));
 //attributを追加してみる
 $title->setAttribute("res", "OK");
 $title->appendChild($dom->createTextNode('テスト'));
 // save XML as string or file
 $test1 = $dom->saveXML(); // put string in test1
 //$dom->save('test1.xml'); // save as file
 //print($test1);
?>

これで問題なくauでも受け取れるようになりました。

テーマ:PHP - ジャンル:コンピュータ

カテゴリー:PHP | TM(0) | CM(0)