Mam problem, a głowię się już z nim parę godzin i nie mogę skonstruować najprostszej formy SimpleXML ;|
Mam plik acl.XML, który wyglądaj następująco:
<acl> <group name="Skin1"> <acl name="Default"></acl> <object name="user.playdewu"></object> </group> </acl>
przy użyciu SimpleXML z pozycji skryptu PHP chciałbym do tego pliku dodać następującą linijkę:
<object name="user.twoj_nick"></object>
Kiedyś robiłem coś podobnego i znalazłem taki skrypt, ale za żadne skarby nie mogę go dobrze przerobić:
<?php $players_folder = 'D:\\WebServ\\httpd\\acc2\\'; { $nick = $_POST['nick']; $group = 'group name'; $loc = 'acl'; $file = $players_folder .$loc.'.xml'; $xml = simplexml_load_file($file); $character = $xml->$group->Skin1->addChild('object'); $character->addAttribute('name', user.$nick); $newplayerFile = $xml->asXML(); $message = "<b>$nick</b> mianowany na Raikage."; } } echo "<br><br><br><p align='right'><span style='font-size: 9px'><b><i>Skrypt stworzony przez dewu</i></b></span></p>"; ?>
Niestety, wywala mi błędy:
Kod
Warning: SimpleXMLElement::addChild() [simplexmlelement.addchild]: Cannot add child. Parent is not a permanent member of the XML tree in D:\WebServ\httpd\acc2\mta.php on line 12
Fatal error: Call to a member function addAttribute() on a non-object in D:\WebServ\httpd\acc2\mta.php on line 13
Fatal error: Call to a member function addAttribute() on a non-object in D:\WebServ\httpd\acc2\mta.php on line 13
Mimo nie łatwego zadania proszę kogokolwiek o poświęcenie mi chwili.
Pozdrawiam.