День добрый, собсна вопрос в названии, как лучше удалить определенный нод из хмля? Ситуация такова, есть форму заказов, люди пишут что им надо, и запись заносится в хмл вида: Код (Text): <?xml version="1.0" encoding="utf-8"?> <items header="Список фильмов доступных для скачивания"> <item film="filmName" who="userName" /> <item film="filmName" who="userName" /> ...... </items> Может кто предложить хороший алгоритм? Работал пока с SimpleXML и у меня пока 2 идеи искать по одному из аттрибутов или же еще могу узнать номер нужного нода. Ну допустим найду что хочу (это не сложно), а как удалить можно? или нужно сосчитать заново, но без "ненужого" нода и записать в файл? Неохота изобретать велосипед
нод — node (<item film="filmName" who="userName" /> - вот такая штука) про xml угадали) как достучаться до нужного мне нода я в принципе понял, передаю из флеша его номер, и потом через foreach смогу найти то что мне надо, вопрос в том что мне с ним дальше делать? есть какая нить простая функция или нужен какой то финт ушами? PHP: <?php class changeXML { public function remove($xmlFile, $nodeNum) { $xml = simplexml_load_file($xmlFile); $nodeForRemove = $xml -> item[$nodeNum]['film']; echo "\n".$nodeForRemove; // вот так достукиваюсь, аттрибут просто для наглядости. } } ?> омрачает картину то что метод removeChild($nodeForRemove); есть только у DOMdocument'a. Вот пример из хелпа: PHP: <?php $doc = new DOMDocument; $doc->load('book.xml'); $book = $doc->documentElement; // we retrieve the chapter and remove it from the book $chapter = $book->getElementsByTagName('chapter')->item(0); $oldchapter = $book->removeChild($chapter); echo $doc->saveXML(); ?> Вопрос, как в моем случае достучаться до елемента под номером $nodeNum? То есть вместо этого: PHP: $chapter = $book->getElementsByTagName('chapter')->item(0); хочу что бы как приерно выше было PHP: $nodeForRemove = $xml -> item[$nodeNum];
AlexGousev это я уже заметил, а как мне можно достучаться до нода под номером $nodeNum? (ну до любого существующего нода под существующим номером)
ага, спс, а то я без childNodes пробовал и ниччо невыходило, щас проверю ----------------------------- бббрррр... бред какой то, эти коменты в онлайн хелпе путают шо ппц, делаю так: $nodeArray = $book -> childNodes; но немогу пока вывести, так же наткнулся на child_nodes(); что где и как ипользовать непонятно, немог бы кто нить примерчик более менее рабочий чиркануть?