Есть xml4.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<store>
<sku id="7705">
<name>iPod classic</name>
<price>330</price>
<ean>0002520190555</ean>
</sku>
<sku id="1139">
<name>ASUS A626</name>
<price>310</price>
<ean>0502770290391</ean>
</sku>
<sku id="783">
<name>Sony iBook</name>
<price>300</price>
<ean>4506790441392</ean>
</sku>
</store>
и есть скрипт:
<?php
$xmlstr = file_get_contents('xml4.xml');
$store = new SimpleXMLElement($xmlstr);
$dom = new DOMDocument('1.0', 'UTF-8');
$dom_sxe = $dom->importNode($xmlstr);
foreach($store->sku as $sku)
{
echo "id= ".$sku['id'] .'<br />';
echo "name= ".$sku->name .'<br />';
echo "price= ".$sku->price .'<br />';
echo "ean= ".$sku->ean .'<br />';
}
echo"<br/>";
echo"----------------";
echo"<br/>";
//-----------------------------------------Удаление атрибута
//unset($store->sku[3]->name);
//----------------------------------------- Изменить атрибут
//$store->sku[3]->name = 'Big Cliff';
//$store->sku[3] = null;
//removeChild($store->sku[3]);
//-----------------------------------------Добавление Раздела
//$newSku = $store->addChild('sku');
//$newSku->addChild('name', 'Macbook Pro');
//$newSku->addChild('price', '2400');
//$newSku->addChild('ean', '1103610290850');
$store->asXML('xml4.xml');
//-----------------------------------------------------------
echo "name= ".$store->sku[3]->name;
echo"<br/>";
foreach($store->sku as $sku)
{
echo "id= ".$sku['id'] .'<br />';
echo "name= ".$sku->name .'<br />';
echo "price= ".$sku->price .'<br />';
echo "ean= ".$sku->ean .'<br />';
}
echo"<br/>";
echo"----------------";
echo"<br/>";
?>
Я могу изменять атрибуты, добавлять child, изменять, но как удалить child <sku id=""> ?
Спустя 11 минут, 4 секунды (8.08.2010 - 10:46) Lenarfate написал(а):
removeChild()
Спустя 7 минут, 45 секунд (8.08.2010 - 10:53) GRean написал(а):
Цитата (Lenarfate @ 8.08.2010 - 07:46) |
removeChild() |
Fatal error: Call to undefined function removeChild()
а как правильно прописать, что б эта функция была определена?
Спустя 5 минут, 7 секунд (8.08.2010 - 10:59) Lenarfate написал(а):
вот из мануала
$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();
Спустя 4 минуты, 23 секунды (8.08.2010 - 11:03) GRean написал(а):
спасибо, а можно ссылку на мануал?
Спустя 9 минут, 6 секунд (8.08.2010 - 11:12) Lenarfate написал(а):
да пожалуйста http://php.net/manual/en/domnode.removechild.php
Спустя 11 минут, 17 секунд (8.08.2010 - 11:23) GRean написал(а):
полность скопировал xml и скрипт, не работает
Спустя 10 минут, 36 секунд (8.08.2010 - 11:34) Lenarfate написал(а):
не надо ничего копировать. нужно самому думать. там пример, а реализовывать сам уже должен
Спустя 2 минуты, 37 секунд (8.08.2010 - 11:36) GRean написал(а):
да и так сижу мучаю.
PHP я не так уж хорошо знаю.
Помогите пожалуйста с примером, не получается у меня сделать удаление.
PHP я не так уж хорошо знаю.
Помогите пожалуйста с примером, не получается у меня сделать удаление.