Я пытаюсь добавить новый узел внутри XML, с пространством имен, который не определен, я пытался использовать SimpleXMLElement, чтобы добавить это пространство имен и создать узел вроде:Как добавить пространство имен и использовать его внутри XML-документа с помощью SimpleXML (PHP)?
<namespace:nodename>
, но когда я делаю, SimpleXMLElement дает что-то вроде этого:
<nodename xmlns:namespace="namespace">
Вот код, который я написал:
$xml->addAttribute('xmlns:namespace', $url);
$xml->metadata->addChild('namespace:nodename', null, 'namespace');
И вот XML, что я пытаюсь чан e:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" identifier="EXAMPLE_1" version="1.1">
<someothernode>
</someothernode>
<metadata>
</metadata>
</manifest>
Is SimpleXML - лучший способ добавить пространства имен?
Я уже пробовал другие решения, найденные здесь, в Stack Overflow, без успеха. Я даже включил двойное определение пространства имен, например «xmlns: xmlns: namespace», но оно также не работало.
Основная проблема заключается в том, что код, который прочитал этот узел, который я создаю терпит неудачу, когда узел имеет дополнительные атрибуты (использует XPath), он должен быть чистым, как:
<namespace:nodename>