戸田 広
info****@sciss*****
2012年 1月 14日 (土) 00:39:01 JST
こんばんは、戸田です。
> 結果は、以下の様に、改行がされず、タグも付きません。
> 1 リンゴ 秋 バラ科 2012-01-11 01:14:52 2 ウンシュウミカン 冬 ミカン科 2012-01-11 01:14:52 3 ブドウ 秋 ブドウ科 2012-01-
出力結果のXMLは何で確認されていますか? Webブラウザーでしょうか?
手元のCI 2.0.3環境でコードを転記して試してみましたが、
返ってきた結果はXML形式になっています。
最後のXML出力を、echo文ではなく、
たとえば次のようにMIMEタイプがXMLであることを
明示して出力した場合はどのような結果になりますでしょうか?
$this->output->set_content_type('xml');
$this->output->set_output($this->dbutil->xml_from_result($query, $config));
以上です。
On 2012/01/13, at 18:37, yfa76550 wrote:
> 栗田です。
> 色々探したり、試行錯誤してみましたが、どうしても出来ません。
> どなたかアドバイス頂けませんか?
> この場で、こういう質問がまずければ、適当なサイトをお教え下さい。
>
> ===
>
> ”徹底”の本にあるサンプル①(chapter 11 - dbutil2.php)をそのままインポートしたのですが、
> 結果は、以下の様に、改行がされず、タグも付きません。
> 1 リンゴ 秋 バラ科 2012-01-11 01:14:52 2 ウンシュウミカン 冬 ミカン科 2012-01-11 01:14:52 3 ブドウ 秋 ブドウ科 2012-01-
>
> その前のサンプル(chapter 11 - dbutil1.php) csv_from_result の結果は以下の様にOKなので、
> 基本的な所は問題ないのかと思います。
> (但し、v1,6やv1.7では、csvも改行されず1行表記、タグはつきますが。。)
> "id","name","season","family","modified",
> "1","リンゴ","秋","バラ科","2012-01-11 01:14:52",
> "2","ウンシュウミカン","冬","ミカン科","2012-01-11 01:14:52",
>
> ①サンプルの写しです。CI_付加
> <?php
> /*
> * データベースユーティリティクラス 利用例2
> * XMLの生成
> */
>
> class Dbutil2 extends CI_Controller {
>
> function index()
> {
> // データベースユーティリティクラスのロード
> $this->load->dbutil();
>
> // 検索
> $query = $this->db->query("SELECT * FROM fruits");
>
> // XMLの設定
> $config = array (
> 'root' => 'root',
> 'element' => 'element',
> 'newline' => "\n",
> 'tab' => "\t"
> );
>
> // XMLの出力
> echo $this->dbutil->xml_from_result($query, $config);
> }
>
> }
> ?>
>
> ②ダウンロードした system\database\DB_utility.php の写しです。
> xml_from_result のところの抜粋
>
> /**
> * Generate XML data from a query result object
> *
> * @access public
> * @param object The query result object
> * @param array Any preferences
> * @return string
> */
> function xml_from_result($query, $params = array())
> {
> if ( ! is_object($query) OR ! method_exists($query, 'list_fields'))
> {
> show_error('You must submit a valid result object');
> }
>
> // Set our default values
> foreach (array('root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t") as $key =>
> $val)
> {
> if ( ! isset($params[$key]))
> {
> $params[$key] = $val;
> }
> }
>
> // Create variables for convenience
> extract($params);
>
> // Load the xml helper
> $CI =& get_instance();
> $CI->load->helper('xml');
>
> // Generate the result
> $xml = "<{$root}>".$newline;
> foreach ($query->result_array() as $row)
> {
> $xml .= $tab."<{$element}>".$newline;
>
> foreach ($row as $key => $val)
> {
> $xml .= $tab.$tab."<{$key}>".xml_convert($val)."</{$key}>".$newline;
> }
> $xml .= $tab."</{$element}>".$newline;
> }
> $xml .= "</$root>".$newline;
>
> return $xml;
> }
>
> ちなみに、codeIgniterを使わずに、PEARの”XML/Serializer.php”で、別のスクリプトでやると、XMLが生成出来ますが、
> PEARをcodeIgniterにインポートして実行すると、改行・タグなし、となります。
> PEARの他の関数(Spreadsheet_Excel_Writer)はOKなので、これも何か微妙な所が原因かと。
>
> 長文ですみません。
> 宜しくお願い致します。
>
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download