ホームページ  >  記事  >  バックエンド開発  >  PHPでXMLファイルを生成する4つの方法

PHPでXMLファイルを生成する4つの方法

WBOY
WBOYオリジナル
2016-07-25 08:59:071122ブラウズ
  1. title1
  2. content1
  3. 2009-10-11
  4. title2</title> ;</li> <li> <content>content2</content></li> <li> <pubdate>2009-11-11</pubdate></li> <li> </item></li> <li></article></li> </ol></div> <em onclick="copycode($('code_CAg'));">コードをコピー</em> </div> <p>方法 1、直接生成弦 純粋な PHP コードを使用して文字列を生成し、その文字列を XML サフィックス付きでファイルに書き込みます。 </p> <div class="blockcode"> <div id="code_O2x"><ol> <li> <li> <li><p><?PHP<li>$data_array = array(<li> array(<li> 'title' => 'title1',</li> <li> 'content' => 'content1',</li> <li> 'pubdate' => '2009-10-11',</li> <li> ),</li> <li> array(</li> <li> 'title' => 'title2',</li> <li> 'content' => 'content2',</li> <li> 'pubdate' => '2009-11 -11',</li> <li> )</li> <li>);</li> <li>$title_size = 1;</p></li> <li><p>$xml = "<?xml version="1.0" encoding="utf-8"?>n" ;</li> <li>$xml .= "<article>n";</p></li> <li><p>foreach ($data_array as $data) {</li> <li>$xml .= create_item($data['title'], $title_size , $data['content'], $data['pubdate']);</li> <li>}</p></li> <li><p>$xml .= "</article>n";</li> <li>echo $xml;< /p></li> <li><p>//XML 単一アイテムを作成します</li> <li>function create_item($title_data, $title_size, $content_data, $pubdate_data)</li> <li>{</li> <li> $item = "<item>n";</li> <li> $item .= " < ;title size="" . $title_size . "">" . $title_data . "n";
  5. $item .= "" . $content_data . " n ";
  6. $item .= " " . $pubdate_data . "n";
  7. $item .= "n";

  8. }
  9. ?>

コードをコピー

方法 2、DomDocument を使用して XML ファイルを生成する 手順: 1. createElement メソッドを使用してノードを作成します。 2. createTextNode メソッドを使用してテキスト コンテンツを作成します。 3. appendChild メソッドを使用して子ノードを追加します。 4. createAttribute メソッドを使用して属性を作成する

  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. // 属性配列

  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();

  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 までご連絡ください。