2011-12-07 81 views
0

我有下面的代码来创建一个XML文件裹对于每组用SimpleXML元素的元素/ DOM文档

<?php 
try 
{ 
    $dom = new domDocument; 
    $dom->formatOutput = true; 
    $root = $dom->appendChild($dom->createElement("items")); 
    $sxe = simplexml_import_dom($dom); 

    $sxe->addChild("model", "HTC Desire"); 
    $sxe->addChild("model", "Motorola Atrix"); 
    echo $sxe->asXML(); 
} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
} 
?> 

虽然执行该代码时,将产生的内容喜欢:

<?xml version="1.0"?> 
<items> 
<model>HTC Desire</model> 
<model>Motorola Atrix</model> 
</items> 

但是,我想换每个模型称为item的元素,结果应该是:

<?xml version="1.0"?> 
<items> 
<item><model>HTC Desire</model></item> 
<item><model>Motorola Atrix</model></item> 
</items> 

任何人都可以建议如何做到这一点?

回答

0

addChild方法返回一个SimpleXMLElement对象,表示添加到XML节点的子对象。这允许方法链接,像这样:

try 
{ 
    $dom = new domDocument; 
    $dom->formatOutput = true; 

    $root = $dom->appendChild($dom->createElement("items")); 
    $sxe = simplexml_import_dom($dom); 
    $sxe->addChild("item")->addChild("model", "HTC Desire"); 
    $sxe->addChild("item")->addChild("model", "Motorola Atrix"); 

    echo $sxe->asXML(); 
} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
} 
+0

我都试过了,但我得到了''之前。不知道发生了什么。无论如何,您的建议工作,谢谢 –