php生成xml文件的四种方法

WBOY
Freigeben: 2016-07-25 08:59:07
Original
1152 Leute haben es durchsucht
  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' => '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 下一页 尾页



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage