У меня есть вопрос относительно addChild в SimpleXMLElement. я пытаюсь создать файл xml, используя SimpleXMLElement с указанным заголовком c в качестве требования и структуры, подобной этой:
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<ns1:Order xmlns:ns1=\"rrn:org.xcbl:schemas/xcbl/v3_5/xcbl35.xsd\"><node id=\"1\" name=\"node 1\"><subnode id=\"1.1\" name=\"subnode 1.1\"/><subnode id=\"1.2\" name=\"subnode 1.2\"><inner_node id=\"1.2.1\" name=\"inner node 1.2.1\"/></subnode></node></ns1:Order>
это мой код:
$xml_header = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns1:Order xmlns:ns1="rrn:org.xcbl:schemas/xcbl/v3_5/xcbl35.xsd"></ns1:Order>';
$xml = new SimpleXMLElement($xml_header);
$node1 = $xml->addChild('node');
$node1->addAttribute('id', '1');
$node1->addAttribute('name', 'node 1');
$subnode1 = $node1->addChild('subnode');
$subnode1->addAttribute('id', '1.1');
$subnode1->addAttribute('name', 'subnode 1.1');
$subnode2 = $node1->addchild('subnode');
$subnode2->addAttribute('id', '1.2');
$subnode2->addAttribute('name', 'subnode 1.2');
$inner_node1 = $subnode2->addChild('inner_node');
$inner_node1->addAttribute('id', '1.2.1');
$inner_node1->addAttribute('name', 'inner node 1.2.1');
$this->response = $xml->asXML();
вывод:
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<ns1:Order xmlns:ns1=\"rrn:org.xcbl:schemas/xcbl/v3_5/xcbl35.xsd\"><ns1:node id=\"1\" name=\"node 1\"><ns1:subnode id=\"1.1\" name=\"subnode 1.1\"/><ns1:subnode id=\"1.2\" name=\"subnode 1.2\"><ns1:inner_node id=\"1.2.1\" name=\"inner node 1.2.1\"/></ns1:subnode></ns1:node></ns1:Order>
Кто-нибудь знает, как добавить дочерний элемент без префикса ns1 внутри тега ns1: Order?