0
Я занимаюсь XML и PHP. Я не могу узнать, как удалить весь узел xml. Вот мой XML:Как удалить и отредактировать определенный узел xml с помощью PHP?
<?xml version="1.0" encoding="UTF-8"?>
<items>
<playlist_name>Channel List</playlist_name>
<category>
<category_id>1</category_id>
<category_title>HD</category_title>
</category>
<channel>
<title>VTC HD1</title>
<stream_url><![CDATA[http://203.162.16.22:80/lives/origin01/vtchd1.isml/vtchd1.m3u8]]></stream_url>
<logo_30x30>vtchd1.jpg</logo_30x30>
<category_id>1</category_id>
</channel>
<channel>
<title>VTC HD2</title>
<stream_url><![CDATA[http://203.162.16.22:80/lives/origin01/vtchd2.isml/vtchd2.m3u8]]></stream_url>
<logo_30x30>vtchd2.jpg</logo_30x30>
<category_id>1</category_id>
</channel>
</items>
А вот код двух функций, которые у меня возникли проблемы, удаление() и редактировать()
<?php
function delete_channel()
{
$file = "nStream.xml";
$fp = fopen($file, "rb") or die("cannot open file");
$str = fread($fp, filesize($file));
$xml = new DOMDocument();
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$xml->loadXML($str) or die("Error");
// original
// echo "<xmp>OLD:\n". $xml->saveXML() ."</xmp>";
// get document element
$root = $xml->documentElement;
$fnode = $root->firstChild;
//get a node
$ori = $fnode->childNodes->item(0);
// remove
$fnode->removeChild($ori);
// echo "<xmp>NEW:\n". $xml->saveXML() ."</xmp>";
}
function edit_channel()
{
echo 'Go Edit';
}
Для delete_channel(), ничего не удаляется при Я запустил эту функцию. Я хочу, чтобы каждый раз, когда я использую эту функцию, один в xml-файле будет удален.
Привет г-н Ха-ха, что именно не работает? – michi
Это «функция delete_channel()» и «function edit_channel()» –
нормально, а что именно не работает? что вы получаете вместо этого? ошибки? будьте конкретны. – michi