PHP通过DOM创建XML文档

通过DOM方式PHP可以很方便的创建XML,只是必须要逻辑清晰,不然很容易出错,基本原理如下

 

$doc = new DOMDocument(‘1.0’, ‘utf-8’);  // 声明版本和编码
$doc -> formatOutput = true;  //格式XML输出

$root    = $doc -> createElement_x('root');    //创建一个标签
$index    = $doc -> createElement_x('index');    //创建一个标签
$id    = $doc -> createAttribute(‘id’);      //创建一个属性
$newsid  = $doc -> createTextNode("1");        //设置属性内容
$newsco = $doc -> createTextNode("content");      //设置标签内容
$id        -> a($newsid);    //继承属性
$index    -> a($id);                  //继承属性内容
$index    -> a($newsco);    //继承标签内容
$root    -> a($index);        //继承子类
$doc    -> a($root);
$doc    -> save(“php100.xml”);                  // 生成保存为XML
 

 

 

 

以下我做的未例

<?php

$mybooks = array();
  $mybooks [] = array(
  'title' => "PHP Hacks",
  'author' => "Jack Herrington",
  'publisher' => "Reilly"
  );

  $mybooks [] = array(
  'title' => "a",
  'author' => "aa",
  'publisher' => "aaa"
  );

  $mybooks [] = array(
  'title' => "b",
  'author' => "bb",
  'publisher' => "bbb"
  );


$doc = new DOMDocument('1.0', 'utf-8');  // 声明版本和编码
$doc -> formatOutput = true;  //格式XML输出

$root    = $doc -> createElement_x_x('root');    //创建一个标签

foreach($mybooks as $key=> $book){
 $key++;
 $books    = $doc -> createElement_x_x('books');    //创建一个标签
    $tit    = $doc -> createElement_x_x('title');    //创建一个标签
    $auth    = $doc -> createElement_x_x('author');    //创建一个标签
    $publi    = $doc -> createElement_x_x('publisher');    //创建一个标签

    $id    = $doc -> createAttribute('id');        //创建一个属性
    $newsid  = $doc -> createTextNode($key);        //设置属性内容
 $title = $doc -> createTextNode($book['title']);  //设置标签内容
 $author = $doc -> createTextNode($book['author']);  //设置标签内容
 $publisher = $doc -> createTextNode($book['publisher']);  //设置标签内容


 $id        -> a($newsid);    //继承属性


 $tit -> a($title);
 $auth -> a($author);
 $publi -> a($publisher);

    $books    -> a($id);        //继承属性内容
    $books    -> a($tit);   //继承标签内容
    $books   -> a($auth);   //继承标签内容
    $books    -> a($publi);   //继承标签内容

   $root    -> a($books);

}

 

     //继承子类
$doc    -> a($root);
$doc    -> save("books.xml");                  // 生成保存为XML

 

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值