0

使用 simplexml_load_file 方法解析 XML 时遇到问题。我有这样的xml:

<root>
    <show>
        <list>
            <entry name="this is title" code="1234">
                <infos count="4">
                    <info type="random" percent="10" />
                    <info type="random" percent="12" />
                    <info type="random" percent="13" />
                    <info type="random" percent="15" />
                </infos>
            </entry>
            <entry name="this is titles" code="1235">
                <infos count="4">
                    <info type="random" percent="14" />
                    <info type="random" percent="16" />
                    <info type="random" percent="17" />
                    <info type="random" percent="18" />
                </infos>
            </entry>
        </list>
    </show>
</root>

我尝试使用 simplexml_load_file 进行解析,但我只得到一个结果。不是两个条目,我的意思是。看看下面的这段代码。

<?php
$url = "text.xml";

$xml = simplexml_load_file($url);

foreach ($xml->show->list as $entry) {
$name = $entry->entry['name'];
$code = $entry->entry['code'];

echo "<p>The List Name: ".$name."</p>";
echo "<p>Code:".$code."</p>";
}
?> 

好的,我尝试使用该代码,我只得到一个结果。我不知道如何循环。所以,我试图在这个网站上提问。

  1. 如何完全按照 xml 循环结果。
  2. 解析 XML

感谢所有可以伸出援手的人:D

4

1 回答 1

3
foreach ($xml->list->enrty as $entry) {
    $name = $entry->entry['name'];
    $code = $entry->entry['code'];

    echo "<p>The List Name: ".$name."</p>";
    echo "<p>Code:".$code."</p>";
}

应该

foreach ($xml->show->list->entry as $entry) {
    $name = $entry->attributes()->name;
    $code = $entry->attributes()->code;
    //or like this
    //$name = $entry["name"];
    //$name = $entry["code"];
    echo "<p>The List Name: ".$name."</p>";
    echo "<p>Code:".$code."</p>";
}
于 2013-06-28T09:42:00.093 回答