如何使用PHP SimplexML打印XML元素和IT子的名称/值



我有xml:

<?xml version="1.0" encoding="utf-8" ?>
<bikes>
<bike>
    <model>First</model>
    <speedNumber>4</speedNumber>
    <sizes>100</sizes>
    <amount>100</amount>
</bike>
<bike>
    <model>Second</model>
    <speedNumber>3</speedNumber>
    <sizes>300</sizes>
    <amount>150</amount>
</bike>
<bike>
    <model>Third</model>
    <speedNumber>4</speedNumber>
    <sizes>300</sizes>
    <amount>300</amount>
</bike>
</bikes>

我使用Simplexml读了它。我如何打印所有标签的信息,例如

bike: model=First , speedNumber=4 ..

我的代码:

$xml=simplexml_load_file("bike.xml") or die('Cannot load file');
foreach($xml->children() as $bikes) {
    echo $bikes->getName()." : ";
    echo $bikes->model . " ";
    echo $bikes->speedNumber . " ";
    echo $bikes->sizes . "";
    echo $bikes->amount . "<br>";
}

现在我打印自行车:

First 4 100 100 bike: Second 3 300 150 

我如何打印

bike: model=First speedNumber=4 ...

使用$bikes->children()选择$bikes的孩子,然后循环通过它们。在foreach循环中,生成目标字符串。

foreach ($xml->children() as $bikes) {
    echo $bikes->getName()." : ";
    foreach ($bikes->children() as $childs){
        echo $childs->getName()."=".$childs ." ";
    }   
    echo "<br>";
}

请参阅Demo

中的结果

最新更新