php生成xml文件的四种方法

WBOY
发布: 2016-07-25 08:59:07
原创
1151 人浏览过
  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 下一页 尾页



来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板