戸田 広
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