我想用PHP代码生成XML文件,文件格式如下
<?xml version="1.0" encoding="GBK"?>
<imagesFolder imgNumbers="24">
<imgPath>pic/brown/01.gif</imgPath>
<imgPath>pic/brown/02.gif</imgPath>
<imgPath>pic/brown/03.gif</imgPath>
<imgPath>pic/brown/04.gif</imgPath>
<imgPath>pic/brown/05.gif</imgPath>
<imgPath>pic/brown/06.gif</imgPath>
<imgPath>pic/brown/07.gif</imgPath>
<imgPath>pic/brown/08.gif</imgPath>
<imgPath>pic/brown/09.gif</imgPath>
<imgPath>pic/brown/10.gif</imgPath>
<imgPath>pic/brown/11.gif</imgPath>
<imgPath>pic/brown/12.gif</imgPath>
<imgPath>pic/brown/13.gif</imgPath>
<imgPath>pic/brown/14.gif</imgPath>
<imgPath>pic/brown/15.gif</imgPath>
<imgPath>pic/brown/16.gif</imgPath>
<imgPath>pic/brown/17.gif</imgPath>
<imgPath>pic/brown/18.gif</imgPath>
<imgPath>pic/brown/19.gif</imgPath>
<imgPath>pic/brown/20.gif</imgPath>
<imgPath>pic/brown/21.gif</imgPath>
<imgPath>pic/brown/22.gif</imgPath>
<imgPath>pic/brown/23.gif</imgPath>
<imgPath>pic/brown/24.gif</imgPath>
</imagesFolder>
请问高手们怎么写啊?

解决方案 »

  1.   

    关键是你的数据从哪来,格式如何像你这样,直接fwrite()就行了
      

  2.   

    数据是这样来的,上传一个zip打包图片的文件,上传之后成功解压出这些图片,然后将这些图片输出到xml文件里,并把生成的xml文件保存到数据库里去。用于flash来调用!!!
      

  3.   


    <?php
      $imagesFolder = array();
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/01.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/02.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/03.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/04.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/05.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/06.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/07.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/08.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/09.gif',
      );
      $imagesFolder [] = array(
      'imgPath' => 'pic/brown/10.gif',
      );
      
      $doc = new DOMDocument('1.0', "utf-8");
      $doc->formatOutput = true;
      
      $r = $doc->createElement( "imagesFolder" );
      $doc->appendChild( $r );
      
      foreach( $imagesFolder as $imgPath )
      {
      //$b = $doc->createElement( "imgPath" );
      
      $imgPath = $doc->createElement( "imgPath" );
      $imgPath->appendChild(
      $doc->createTextNode( $imagesFolder['imgPath'] )
      );
      //$b->appendChild( $imgPath );
      
      
      
      $r->appendChild( $b );
      }
      
      echo $doc->saveXML();
      
      $doc->save("update.xml");
      ?>
    有没有高手帮我上面这个代码修改一下,或者完善一下也行!
      

  4.   

    你会php的吧?  foreach( $imagesFolder as $imgPath )
      {
      //$b = $doc->createElement( "imgPath" );
      
      $imgPath = $doc->createElement( "imgPath" );
      $imgPath->appendChild(
      $doc->createTextNode( $imagesFolder['imgPath'] )
      );你不觉得这里面好几个imgPath是互相冲突的么?看看手册foreach的用法
      

  5.   

    snmr_com,您好!
    那麻烦您帮忙写一个。谢谢
      

  6.   

    既然麒麟厍人不愿意写,我就给你写下把,尽量起一些有意义的名称,另外避免重复引起混淆!<?php
    $imagesFolder = array();
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/01.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/02.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/03.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/04.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/05.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/06.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/07.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/08.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/09.gif'
    );
    $imagesFolder[] = array(
    'imgPath' => 'pic/brown/10.gif'
    );$doc = new DOMDocument('1.0', "utf-8");
    $doc->formatOutput = true;// 起的名字最好有意义点,另外和数据的变量最好避免出现分歧
    $imagesFolderNode = $doc->createElement("imagesFolder");
    // 增加属性
    $imagesFolderNode->setAttribute('imgNumbers', count($imagesFolder));$doc->appendChild($imagesFolderNode);foreach($imagesFolder as $image) {
    //$b = $doc->createElement( "imgPath" ); $imgPathNode = $doc->createElement("imgPath");
    $imgPathNode->appendChild($doc->createTextNode($image['imgPath']));
    //$b->appendChild( $imgPath );

    // 这样一看就知道是dom操作,还明白数据是怎么叠加的
    $imagesFolderNode->appendChild($imgPathNode);
    }echo $doc->saveXML();$doc->save("update.xml");
    ?>