在PHP中创建XML会保存一个空白文件

时间:2014-08-11 20:00:12

标签: php xml

我是PHP中XML处理的新手 我编写了这个脚本来从post发送变量并将它们插入到一个标签中,该变量的名称来自已发布变量的变量,而数据是此文本字段中的实际数据 我已将$ id_picture设置为foo而不是发布的数据,但结果相同

$xml = new DOMDocument('1.0', 'UTF-8'); 

        $id_picture = $_POST['id_picture']; 
        $xml_id_picture = $xml->createElement("id_picture");
        $xml_id_picture_node = $xml->createTextNode($id_picture); 
        $xml_id_picture->appendChild($xml_id_picture_node);
        //upload xml 
        $xml->save('xml.xml');

我想要实现的是将数据从帖子保存到第一个变量然后我迷失了它使它成为一个xml标签并在其间插入数据

<id_picture>foo</id_picture>

3 个答案:

答案 0 :(得分:1)

您从未将新节点插入主对象。你需要像

这样的东西
$xml->appendChild($xml_id_picture);

以便新创建的id_picture节点实际显示在您的文档中。

答案 1 :(得分:0)

您必须将节点添加到文档中。

    $xml = new DOMDocument('1.0', 'UTF-8'); 

    $id_picture = $_POST['id_picture']; 
    $xml_id_picture = $xml->createElement("id_picture");
    $xml_id_picture_node = $xml->createTextNode($id_picture); 
    $xml_id_picture->appendChild($xml_id_picture_node);
    $xml->appendChild($xml_id_picture);//<-- here
    //upload xml 
    $xml->save('xml.xml');

http://codepad.org/6Ml2cUYe

答案 2 :(得分:0)

看起来你正在创建一个元素,为它添加一个节点,但是你没有将该元素附加到文档中。