【问题标题】:How to print name/value of xml elements and it childs using php SimpleXML?如何使用 php SimpleXML 打印 xml 元素的名称/值及其子项?
【发布时间】:2017-07-16 09:00:48
【问题描述】:

我有 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 ...

【问题讨论】:

    标签: php xml dom simplexml


    【解决方案1】:

    使用$bikes-&gt;children() 选择$bikes 的孩子并循环遍历它们。在foreach循环中,生成目标字符串。

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

    查看demo中的结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多