PHP中的產生XML檔案的4種方法
【XMLWriter】
方法3:使用XMLWriter類建立XML檔案
此方法在PHP 5.1.2後有效
另外,它可以輸出多種編碼的XML,但是輸入只能是utf-8
PHP代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?PHP $data_array=array( array( 'title'=>'title1', 'content'=>'content1', 'pubdate'=>'2009-10-11', ), array( 'title'=>'title2', 'content'=>'content2', 'pubdate'=>'2009-11-11', ) );
// 屬性數組 $attribute_array=array( 'title'=>array( 'size'=>1 ) );
$xml=new XMLWriter(); $xml->openUri("php://output");// 輸出方式,也可以設定為某個xml檔案地址,直接輸出成檔案 $xml->setIndentString(' '); $xml->setIndent(true);
$xml->startDocument('1.0','utf-8');// 開始建立檔案 // 根結點 $xml->startElement('article');
foreach($data_arrayas$data){ $xml->startElement('item');
if(is_array($data)){ foreach($dataas$key=>$row){ $xml->startElement($key);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key])){ foreach($attribute_array[$key]as$akey=>$aval){// 設定屬性值 $xml->writeAttribute($akey,$aval); }
}
$xml->text($row);// 設定內容 $xml->endElement();// $key }
} $xml->endElement();// item }
$xml->endElement();// article $xml->endDocument();
$xml->flush(); ?> |
【SimpleXML】
方法4:使用SimpleXML建立XML文檔
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?PHP $data_array = array( array( 'title' => 'title1', 'content' => 'content1', 'pubdate' => '2009-10-11', ), array( 'title' => 'title2', 'content' => 'content2', 'pubdate' => '2009-11-11', ) ); // 屬性數組 $attribute_array = array( 'title' => array( 'size' => 1 ) ); $string = <<<XML <?xml version='1.0' encoding='utf-8'?> <article> </article> XML; $xml = simplexml_load_string($string); foreach ($data_array as $data) { $item = $xml->addChild('item'); if (is_array($data)) { foreach ($data as $key => $row) { $node = $item->addChild($key, $row); if (isset($attribute_array[$key]) && is_array($attribute_array[$key])) { foreach ($attribute_array[$key] as $akey => $aval) { // 設定屬性值 $node->addAttribute($akey, $aval); } } } } } echo $xml->asXML(); ?> |
本文地址:PHP中的產生XML檔案的4種方法 文章出處:PHP源碼閱讀,PHP設計模式,PHP學習筆記-胖子的空間
轉載請以連結形式註明原始出處和作者,謝絕不尊重著作權者抄襲!