2017-10-11 12 views
1

SimpleXmLでXMLを書き留めてみてください。simplexmlのネスト

<?xml version="1.0" encoding="utf-8"?> 
    <orders> 
     <order shipdate="2017-10-11 13:44:12" /> 
     <delivery weight="0" /> 
    <order/> 
    </orders> 

しかし、タグの前に閉鎖しないようにタグを必要とする:巣にタグの一部

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><orders></orders>'); 
     $orderlist = $xml->addChild('order'); 
     $orderlist->addAttribute('shipdate', date('Y-m-d H:i:s')); 

     $orderlist = $xml->addChild('delivery'); 
     $orderlist->addAttribute('weight', '0'); 

この意志出力これが必要です。 が、それは次のようになりたい:

<?xml version="1.0" encoding="UTF-8"?> 
<orders> 
    <order shipdate="2016-07-14T14:41:30"> 
    <delivery weight="0" /> 
    </order> 
</orders> 

答えて

2

は、以下のことを試してみてください。

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><orders></orders>'); 
     $orderlist = $xml->addChild('order'); 
     $orderlist->addAttribute('shipdate', date('Y-m-d H:i:s')); 

     $delivery = $orderlist->addChild('delivery'); 
     $delivery->addAttribute('weight', '0'); 

これは<order>タグ内<delivery>タグを追加します。あなたは$orderlistに子を追加したい場合は、それが正しく書く

<?xml version="1.0" encoding="utf-8"?> 
<orders> 
    <order shipdate="2017-10-11 22:28:13"> 
     <delivery weight="0"/> 
    </order> 
</orders> 
0

::などの出力を提供

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><orders></orders>'); 
// add child to root node `orders` 
$orderlist = $xml->addChild('order'); 
$orderlist->addAttribute('shipdate', date('Y-m-d H:i:s')); 

// add child to newly created `order` node 
$delivery = $orderlist->addChild('delivery'); 
$delivery->addAttribute('weight', '0'); 

echo $xml->asXML();