如何以PHP有序的方式打印节点值XML



>我有一个这样的XML:

<description>
    <heading id="01"> Math </heading>
    <p id="01"> Text 1 </p>
    <heading id="02"> History </heading>
    <p id="02"> Text 2</p>
    <p id="03"> Text 3</p>
    <heading id="03"> Biology </heading>
    <p id="04"> Text 4 </p>
</description>

我也有许多xml文件具有这样的结构,它们仅与每个<heading>节点的<p>节点数量不同。如何打印<heading>和一些<p>节点和第二个标题....

我试图使用foreach,但事实并非如此。我的代码:

<?php
$xml=simplexml_load_file("NWB2.xml") or die("Error: Cannot create object");
echo "<b>".$xml->{'description'}->{'heading'}."</b>";
echo "<p>".$xml->{'description'}->{'p'}."</p>";
?>

如果只是根据输入标签有不同的样式,您可以使用 foreach() 循环并根据标签类型输出值......

$xml=simplexml_load_file("NWB2.xml") or die("Error: Cannot create object");
foreach ( $xml as $type => $value )    {
    if ($type == "p")  {
        echo $value;
    }
    else {
        echo "<b>$value</b>";
    }
}

最新更新