0

我正在尝试从 PHP 代码创建一个 XML 文档来获得这个:

<xml version="1.0">
<parada nombre="Test Name" total="Test TOTAL">
       <linea numero="TestN" destino="TestD" minutos="TestM"/>
       <linea2 numero="TestN" destino="TestD" minutos="TestM"/>
</parada>

我的 PHP 上有这段代码:

<?php


$xml = new SimpleXMLElement('<xml/>');

$parada = $xml->addChild('parada');
$parada->addAttribute('nombre', 'Test Name');
$parada->addAttribute('total', 'Test TOTAL');

$linea = $parada->addChild('linea');

$linea->addAttribute('numero', 'TestN');
$linea->addAttribute('destino', 'TestD');
$linea->addAttribute('minutos', 'TestM');


$linea2 = $parada->addChild('linea2');

$linea2->addAttribute('numero', 'TestN');
$linea2->addAttribute('destino', 'TestD');
$linea2->addAttribute('minutos', 'TestM');


echo $xml;          

echo $xml->asXML();

?>

但我的结果是这样的:

    <xml>
         <parada nombre="Test Name" total="Test TOTAL">
             <linea numero="TestN" destino="TestD" minutos="TestM">
                 <linea2 numero="TestN" destino="TestD" minutos="TestM"/>
             </linea>
        </parada>
    </xml>

我不知道为什么第二个子节点“linea2”在第一个子节点“linea”内。

谢谢。

4

1 回答 1

0

这是因为您只是忘记了<?xml标签不是<xml>标签。如果你想<prada>作为根,你只需要把它作为 SimpleXMLElement 构造函数的第一个参数

$doc = new SimpleXMLElement("<prada></prada>");
于 2012-08-15T12:46:01.040 回答