Php SimpleXMLElement:添加子元素时删除ns1前缀

Php SimpleXMLElement:添加子元素时删除ns1前缀,php,xml,simplexml,Php,Xml,Simplexml,我有一个关于SimpleXMLElement中addChild的问题。 我尝试使用SimpleXMLElement创建xml文件,并将特定头作为要求和结构,如下所示: <?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=\"

我有一个关于SimpleXMLElement中addChild的问题。 我尝试使用SimpleXMLElement创建xml文件,并将特定头作为要求和结构,如下所示:

<?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>
\n
这是我的代码:

    $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\u header=>
';
$xml=新的simplexmlement($xml\u头);
$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','subnode1.1');
$subnode2=$node1->addchild('subnode');
$subnode2->addAttribute('id','1.2');
$subnode2->addAttribute('name','subnode1.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>
\n

有人知道如何在ns1:Order标记中添加一个没有ns1前缀的子项吗?

请注意“对不起,先生”的第三个参数,这是我第一次这么做。您能解释一下如何添加没有ns1前缀的子级吗?我认为第三个参数是为子组件添加url谢谢先生@choroba