首頁 >後端開發 >php教程 >php生成xml檔的四種方法

php生成xml檔的四種方法

WBOY
WBOY原創
2016-07-25 08:59:071190瀏覽
  1. title1
  2. content1
  3. 2009-10-11
  4. title2
  5. content2
  6. 2009-11-11
複製程式碼

方法1,直接產生字串 使用純粹的php程式碼產生字串,並把這個字串寫入一個以XML為後綴的檔案。

  1. $data_array = array(

  2. array(
  3. 'title' => 'title1 ',
  4. 'content' => 'content1',
  5. 'pubdate' => '2009-10-11',
  6. ),
  7. array(
  8. 'title' => 'title2 ',
  9. 'content' => 'content2',
  10. 'pubdate' => '2009-11-11',
  11. )
  12. );
  13. $title_size = 1;
  14. $xml = "n";

  15. $xml .= "
    n";
  16. foreach ($data_array as $data) {

  17. $xml .= create_item($data['title'], $title_size, $data['content'], $data['pubdate']) ;
  18. }
  19. $xml .= "

  20. n";
  21. echo $xml;
  22. //建立XML單項

  23. function create_item($title_data, $title_size, $content_data, $pubdate_data)
  24. {
  25. $item = "n";
  26. $item .= "" . $title_data . "n";
  27. $item .= "" . $content_data . "n";
  28. $item .= " " . $pubdate_data . "n";
  29. $item .= "
  30. n";
  31. return $item;

  32. }
  33. ?>
複製程式碼

方法2,使用DomDocument產生XML文件 操作步驟: 1,建立節點使用createElement方法, 2,建立文字內容使用createTextNode方法, 3,新增子節點使用appendChild方法, 4,建立屬性使用createAttribute方法

  1. $data_array = array(

  2. array(
  3. 'title' => 'titleti ',
  4. 'content' => 'content1',
  5. 'pubdate' => '2009-10-11',
  6. ),
  7. array(
  8. 'title' => 'title2 ',
  9. 'content' => 'content2',
  10. 'pubdate' => '2009-11-11',
  11. )
  12. );
  13. / / 屬性陣列

  14. $attribute_array = array(
  15. 'title' => array(
  16. 'size' => 1
  17. )
  18. );
  19. / / 建立一個XML文件並設定XML版本和編碼。 。

  20. $dom=new DomDocument('1.0', 'utf-8');
  21. // 建立根節點

  22. $article = $dom->createElement('article' );
  23. $dom->appendchild($article);
  24. foreach ($data_array as $data) {

  25. $item = $dom->createElement('item') ;
  26. $article->appendchild($item);
  27. create_item($dom, $item, $data, $attribute_array);
  28. }
  29. echo $dom->saveXML(); p>
  30. function create_item($dom, $item, $data, $attribute) {

  31. if (is_array($data)) {
  32. foreach ($data as $key => $val ) {
  33. // 建立元素
  34. $$key = $dom->createElement($key);
  35. $item->appendchild($$key);
  36. // 建立元素值

  37. $text = $dom->createTextNode($val);
  38. $$key->appendchild($text);
  39. if (isset($ attribute[$key])) {

  40. // 如果此欄位存在相關屬性需要設定
  41. foreach ($attribute[$key] as $akey => $row) {
  42. // 建立屬性節點
  43. $$akey = $dom->createAttribute($akey);
  44. $$key->appendchild($$akey);
  45. // 建立屬性值節點

  46. $aval = $dom->createTextNode($row);
  47. $$akey->appendChild($aval);
  48. }
  49. } // end if
  50. }
  51. } // end if
  52. } // end function
  53. ?>
複製程式碼

方法3,使用XMLWriter類別建立XML檔案1 2 下一頁尾頁



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn