Привет всем, у меня есть xml-файл, и я хочу обновить свой код.
<gallerylist> <record> <movie>videos/15Avatar_HD.flv</movie> <title>Avatar1</title> <desc>It plays any kind of video file that Flash Player supports</desc> <preview>videos/previews/6avatar.jpg</preview> <imgplaylist>videos/imgplaylist/14p1.jpg</imgplaylist> <category>Action</category> </record> </gallerylist>
и моя php-функция:
function xml_update_video($id,$searchString) { $res=$this->selectVideo($id); $searchString = $searchString; $doc = new DOMDocument; $doc->formatOutput = TRUE; $doc->preserveWhiteSpace = FALSE; $doc->load('../playlist.xml'); $xPath = new DOMXPath($doc); $query = sprintf('//record[./title[text()="%s"]]', $searchString); foreach($xPath->query($query) as $node) { $node->parentNode->removeChild($node); } $gallerylist = $doc->getElementsByTagName( "gallerylist" )->item(0); $record = $gallerylist->appendChild($doc->createElement('record')); $movie = $record->appendChild($doc->createElement('movie')); $movie->appendChild($doc->createTextNode('videos/'.$res['videofile'])); $title = $record->appendChild($doc->createElement('title')); $title->appendChild($doc->createTextNode($res['title'])); $desc = $record->appendChild($doc->createElement('desc')); $desc->appendChild($doc->createTextNode($res['description'])); $preview = $record->appendChild($doc->createElement('preview')); $preview->appendChild($doc->createTextNode('videos/previews/'.$res['previewImage'])); $imgplaylist = $record->appendChild($doc->createElement('imgplaylist')); $imgplaylist->appendChild($doc->createTextNode('videos/imgplaylist/'.$res['playlistImage'])); $category = $record->appendChild($doc->createElement('category')); $category->appendChild($doc->createTextNode($res['category'])); $doc->formatOutput = true; $test1 = $doc->saveXML(); $doc->save('../playlist.xml'); }
$ id – идентификатор видеофайла в базе данных. с помощью id я добавляю новый узел в xml-файл после удаления узла на основе searchstring, который является заголовком. Этот код работает неправильно. он добавляет новый узел.
этот файл добавляет новый узел. который неправильный. это должно быть обновление существующего узла. но как ? может кто-нибудь помочь