2013-05-18 33 views
-2
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文件我需要在一個XML文件信息添加到已經存在的用戶

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

收到這些錯誤:用C 0:

  • 注意:未定義抵消\致命錯誤:在C:\ xampp \ htdocs \ Tom \ Project PHP \ ProjectPHP_HTML中的非對象上調用成員函數addChild() \ Coordin aten.php on line 6

我很困惑..請幫我一把。

+0

爲了達到最佳效果,請在您的文章的問題。否則,我們需要嘗試推斷您的意圖,結果並不總是準確的。 –

+0

你可以var_dump($ gebruiker)?完全有可能你的xpath沒有任何返回。對於這些例子,而不是使用'$ _SESSION'嘗試硬編碼湯姆,因爲它是我們可以看到的唯一值 – preinheimer

+0

我真的很抱歉這個問題不清楚,但我不確定這個問題是什麼真的不知道你需要哪些信息來幫助我。但是可以製作其他'gebruiker'元素,因爲我不能硬編碼「Tom」,因爲如果我使用其他帳戶登錄,我需要能夠返回其他值。 –

回答

1

$gebruiker的XPath是錯誤的,這樣做,而不是:

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

你做了什麼......

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

意思是:找到具有價值<login>節點,如$_SESSION['login']下面<root>,但是沒有這樣的節點,它低於<gebruikers>

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

你可以做$xml->asXML('myfile.xml');

看到它的工作:http://codepad.viper-7.com/9p2MYb

+0

你可能是對的:) – Fabio

相關問題