$string = <<<XML
<?xml version='1.0'?>
<document>
<books>
<book>
<qty>12</qty>
<title>C++</title>
</book>
<book>
<qty>21</qty>
<title>PHP</title>
</book>
</books>
<books>
<book>
<qty>21</qty>
<title>PHP</title>
</book>
</books>
</document>
XML;
$newsXML = new SimpleXMLElement($string);
$xml = simplexml_load_string($string);
print_r($xml);
$A = SimpleXMLElement Object
(
[books] => Array
(
[0] => SimpleXMLElement Object
(
[book] => Array
(
[0] => SimpleXMLElement Object
(
[qty] => 12
[title] => C++
)
[1] => SimpleXMLElement Object
(
[qty] => 21
[title] => PHP
)
)
)
[1] => SimpleXMLElement Object
(
[book] => SimpleXMLElement Object
(
[qty] => 21
[title] => PHP
)
)
)
)
И ИСПОЛЬЗУЙТЕ $ arr, чтобы указать, какие элементы из $ A будут удалены.Используйте массив exsits для удаления содержимого xml и возврата в xml-файл.?
$arr = array(
0=> array(0=>'12;C++'),
1=> array(0=>'21;PHP')
);
Так $ A будет возвращать оставшиеся элементы:
$A = SimpleXMLElement Object
(
[books] => Array
(
[0] => SimpleXMLElement Object
(
[book] => Array
(
[0] => SimpleXMLElement Object
(
[qty] => 21
[title] => PHP
)
)
)
)
)
и эквивалентности в $ XML понравится:
<?xml version='1.0'?>
<document>
<books>
<book>
<qty>21</qty>
<title>PHP</title>
</book>
</books>
</document>
Вы не можете удалить элементы, используя simplexml. прочитайте этот пост, так как я считаю, что он отвечает на тот же вопрос. http://stackoverflow.com/questions/262351/remove-a-child-with-a-specific-attribute-in-simplexml-for-php – dqhendricks