我需要在XML文件中向已存在的用户添加信息

时间:2013-05-18 14:15:57

标签: php html xml

session_start();
$xml = simplexml_load_file('Gebruikers.xml');
$gebruiker = $xml->xpath('root[Login="'.$_SESSION['Login'].'"]');
$coordinates = $gebruiker[0]->addChild('coordinates');
$coordinates->addChild("X",$_GET["X"]);
$coordinates->addChild("Y",$_GET["Y"]);
file_put_contents('Gebruikers.xml', $xml->asXML());

XML文件

<root>
    <gebruiker>
        <Login>Tom</Login>
        <Wachtwoord>123</Wachtwoord>
    </gebruiker>
</root>

获取这些错误:

  • 注意:未定义的偏移量:0在C:\ xampp \ htdocs \ Tom \ Project PHP \ ProjectPHP_HTML \ Coordinaten.php第6行
  • 致命错误:在第6行的C:\ xampp \ htdocs \ Tom \ Project PHP \ ProjectPHP_HTML \ Coordinaten.php中的非对象上调用成员函数addChild()

我很困难..请帮帮我。

1 个答案:

答案 0 :(得分:1)

$gebruiker的xpath错误,请改为:

$gebruiker = $xml->xpath('gebruiker[Login="'.$_SESSION['Login'].'"]');

你做了什么......

... xpath('root[Login="'.$_SESSION['Login'].'"]');

表示:找到一个<login>节点,其值为$_SESSION['login'] <root>以下<gebruikers>,但没有此节点,它低于file_put_contents('Gebruikers.xml', $xml->asXML());

BTW,而不是$xml->asXML('myfile.xml');

你可以{{1}}

看到它有效:http://codepad.viper-7.com/9p2MYb