Ошибки SimpleXMLElement. Попытка добавить XML после определенного момента

Я пытаюсь добавить новый узел после в designmap.xml

Новый узел включает атрибут src, который настраивается с помощью массива ниже.

$newStories = Array ( [0] => u102 [1] => u103 [2] => u107 [3] => u156  );

$designMap = simplexml_load_file('designmap.xml');

foreach ($newStories as $story) {
$newStoryNode = '<idPkg:Story src="Stories/Story_' . $story . '.xml" />';
$insert = new SimpleXMLElement($newStoryNode);
$target = current($designMap->xpath('//idPkg:Story[last()]'));

simplexml_insert_after($insert, $target);
}

function simplexml_insert_after(SimpleXMLElement $insert, SimpleXMLElement $target)
{
$target_dom = dom_import_simplexml($target);
$insert_dom = $target_dom->ownerDocument->importNode(dom_import_simplexml($insert), true);
if ($target_dom->nextSibling) {
return $target_dom->parentNode->insertBefore($insert_dom, $target_dom->nextSibling);
} else {
return $target_dom->parentNode->appendChild($insert_dom);
}
}

$designMap->asXML('designmap.xml');

Я получаю следующее предупреждения для каждого из взглядов:

  1. SimpleXMLElement :: __ construct (): ошибка пространства имен: префикс пространства имен idPkg в Story не определен
  2. SimpleXMLElement :: __ construct (): u102.xml
  3. SimpleXMLElement :: __ construct (): ^ in

0

Решение

$xpath->query("//idPkg:Story[last()]")
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]