У меня есть XML
:Удаление узлов в XML с помощью XPath и PHP
<root>
<level name="main">
<level name="sub_1">
<content id="abc123" />
</level>
</level>
</root>
Я хотел бы найти узел с id
, который abc123
и удалить <content>
и его родителей <level>
So конечным результатом будет:
<root>
<level name="main">
</level>
</root>
Я пробовал это на PHP без результата, что я делаю неправильно?
$doc = new DOMDocument;
$doc->loadxml($xml_from_file);
$xpath = new DOMXPath($doc);
$node_list = $xpath->query("content[@id='abc123']/parent::*");
$node = $node_list->item(0);
$doc->removeChild($node);
'DOMDocument :: loadXML' принимает XML. Используйте 'DOMDocument :: load' для имени файла. – PHPglue
Спасибо. Я фактически загружаю его из строки в 'loadXML' –