我用php生成xml如下$xml = '<?xml version="1.0" encoding="utf-8"?>'."\r\n";
$xml .= '<user>'."\r\n";
$xml .= "\t".'<person_siteurl>'.www.163.com.'</person_siteurl>'."\r\n";
foreach (array(1,2,3) as $value){
   $xml .= "\t".'<job_keys>'.$value.'</job_keys>'."\r\n";
}
$xml .= '</user>'."\r\n";
$sxe = new SimpleXMLElement($xml);
$sxe->asXML(APPPATH.'user.xml');
生成了user.xml文件,我现在要想添加一个:
<username>李四</username>
该怎么添加啊,前面跟"\t" ,后面跟"\r\n" ? 感谢~~

解决方案 »

  1.   

    $xml = '<?xml version="1.0" encoding="utf-8"?>'."\r\n";
    $xml .= "<user>\r\n";
    $xml .= "\t<person_siteurl>www.163.com</person_siteurl>\r\n";
    $xml .= "\t<username>李四</username>\r\n";
    foreach (array(1,2,3) as $value){
    $xml .= "\t<job_keys>$value</job_keys>\r\n";
    }
    $xml .= "</user>\r\n";
    $sxe = new SimpleXMLElement($xml);
    $sxe->saveXML('user.xml');其实上面的 \t \r\n 加不加都无所谓的,只是为了阅读方便而已
      

  2.   

    <?php
    $xml = <<<xml
    <?xml version="1.0" encoding="utf-8"?>
         <user>
            <person_siteurl>www.163.com</person_siteurl>
            <username>李四</username>
    xml;foreach (array(1,2,3) as $value){
       $xml .= "<job_keys>{$value}</job_keys>";
    }
    $xml .= '</user>';$sxe = new SimpleXMLElement($xml);
    $sxe->asXML(APPPATH.'user.xml');
    ?>
      

  3.   

    user.xml已经存在了,  从user.xml中再存入新的标签
      

  4.   

    $sxe = new SimpleXMLElement($xml);
    $sxe->addChild('username', '李四');
    $sxe->asXML(APPPATH.'user.xml');
      

  5.   

    谢谢,这样OK了,但是能不能加上"/t" ,"/r/n"
    有什么办法可以更美观啊。
      

  6.   

    当然你想加的话随你。
    但现在凡是操作系统自带的XML阅读器(通常是浏览器)都带有格式化代码功能,也就是说自动的帮你整理展示结构,所以我觉得你没必要加什么换行制表符