foreach 解析 xml 但只显示一条记录

发布于 2024-11-30 13:59:14 字数 579 浏览 1 评论 0原文

foreach($xml1->results as $info) {
                    $title = $info->listing->title;
                    $favicon = $info->listing->favicon;


                    echo $favicon;
                    echo "<a href=".$redirect;
                    echo ">".$title."</a><BR>";

                }

输出一切正常,但只显示一条记录。可能是什么问题。

XML结构

<listing>
   <title></title>
   <url></url>
   <description>[result-description]</description>
</listing>
foreach($xml1->results as $info) {
                    $title = $info->listing->title;
                    $favicon = $info->listing->favicon;


                    echo $favicon;
                    echo "<a href=".$redirect;
                    echo ">".$title."</a><BR>";

                }

The output is all fine, but only showing one record. What could be the problem.

XML Structure

<listing>
   <title></title>
   <url></url>
   <description>[result-description]</description>
</listing>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼藏柔 2024-12-07 13:59:14

您的代码和问题表明 $xml 包含一个标签至少两个标签“结果”。

simplexml 忽略根标签作为对象的一部分,它只包含属性。

所以,如果你的 xml 看起来像

<results>
    <listing>
        <title></title>
        <favicon></favicon>
    </listing>
    <listing>
        <title></title>
        <favicon></favicon>
    </listing>
</results>

代码应该是

foreach($xml1->listing as $info)

Your code and question suggests that the $xml contains a tag at least two tags "results".

The simplexml ignores the root tag as being part of the object, it only includes the attributes.

so, if your xml looks like

<results>
    <listing>
        <title></title>
        <favicon></favicon>
    </listing>
    <listing>
        <title></title>
        <favicon></favicon>
    </listing>
</results>

the code should be

foreach($xml1->listing as $info)
海之角 2024-12-07 13:59:14

这对我有用:

$xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<results>
    <listing>
        <title>title 1</title>
        <favicon>fav1</favicon>
    </listing>
    <listing>
        <title>title 2</title>
        <favicon>fav2</favicon>
    </listing>
</results>
";


$xmlObj=simplexml_load_string($xml);

foreach($xmlObj as $info){
    $title = $info->title;
    $favicon = $info->favicon;


    echo $favicon;
    echo "<a href=''";
    echo ">".$title."</a><BR>";

}

This works for me:

$xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<results>
    <listing>
        <title>title 1</title>
        <favicon>fav1</favicon>
    </listing>
    <listing>
        <title>title 2</title>
        <favicon>fav2</favicon>
    </listing>
</results>
";


$xmlObj=simplexml_load_string($xml);

foreach($xmlObj as $info){
    $title = $info->title;
    $favicon = $info->favicon;


    echo $favicon;
    echo "<a href=''";
    echo ">".$title."</a><BR>";

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文