-
- title1
- content1
- 2009-10-11
-
-
- title2
- content2
- 2009-11-11
-
複製代碼方法1,直接產生字串使用純粹的php代碼產生字串,並把這個字串寫入一個以XML為尾碼的檔案。
$data_array = array(
- array(
- 'title' => 'title1',
- 'content' => 'content1',
- 'pubdate' => '2009-10-11',
- ),
- array(
- 'title' => 'title2',
- 'content' => 'content2',
- 'pubdate' => '2009-11-11',
- )
- );
- $title_size = 1;
$xml = "\n";
- $xml .= "\n";
foreach ($data_array as $data) {
- $xml .= create_item($data['title'], $title_size, $data['content'], $data['pubdate']);
- }
$xml .= "\n";
- echo $xml;
//建立XML單項
- function create_item($title_data, $title_size, $content_data, $pubdate_data)
- {
- $item = "\n";
- $item .= "" . $title_data . "\n";
- $item .= "" . $content_data . "\n";
- $item .= " " . $pubdate_data . "\n";
- $item .= "\n";
return $item;
- }
- ?>
複製代碼方法2,使用DomDocument產生XML檔案操作步驟:1,建立節點使用createElement方法,2,建立常值內容使用createTextNode方法,3,添加子節點使用appendChild方法,4,建立屬性使用createAttribute方法
$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文檔並設定XML版本和編碼。。
- $dom=new DomDocument('1.0', 'utf-8');
// 建立根節點
- $article = $dom->createElement('article');
- $dom->appendchild($article);
foreach ($data_array as $data) {
- $item = $dom->createElement('item');
- $article->appendchild($item);
- create_item($dom, $item, $data, $attribute_array);
- }
- echo $dom->saveXML();
function create_item($dom, $item, $data, $attribute) {
- if (is_array($data)) {
- foreach ($data as $key => $val) {
- // 建立元素
- $$key = $dom->createElement($key);
- $item->appendchild($$key);
// 建立元素值
- $text = $dom->createTextNode($val);
- $$key->appendchild($text);
if (isset($attribute[$key])) {
- // 如果此欄位存在相關屬性需要設定
- foreach ($attribute[$key] as $akey => $row) {
- // 建立屬性節點
- $$akey = $dom->createAttribute($akey);
- $$key->appendchild($$akey);
// 建立屬性值節點
- $aval = $dom->createTextNode($row);
- $$akey->appendChild($aval);
- }
- } // end if
- }
- } // end if
- } // end function
- ?>
複製代碼方法3,使用XMLWriter類建立XML檔案 1 2 下一頁 尾頁 |