gpt4 book ai didi

PHP 使用子项在标记名称中使用冒号解析 XML

转载 作者:行者123 更新时间:2023-12-05 08:24:12 26 4
gpt4 key购买 nike

我有以下 php 代码:

$xml=simplexml_load_file("http://openclipart.org/api/search/?query=dog&page=1");
echo "<ul>";
foreach ($xml->channel->item as $clipinfo):
$title=$clipinfo->title;
$full=$clipinfo->enclosure['url'];
$thumb=$clipartinfo->children('media', true)->thumbnail['url'];

echo "<div style=\"width:160px;height:120px;float:left;margin:5px;margin-top:10px;\">
<a href=\"{$full}\" target='_blank' class=\"thumbnail\">
<img alt=\"{$title}\" style=\"width: 160px; height: 120px;\" src=\"{$thumb}\">
</a>
</div>";
endforeach;

这是由以下 XML 文件提供的:

<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>OpenClipart.org</title>
<atom:link rel="self" href="http://openclipart.org/api/search/?query=dog&amp;page=1" type="application/rss+xml"/>
<link>http://openclipart.org</link>
<description>Download, Sample, Cut-up, Share.</description>
<language>en-US</language>
<image>
<url>http://openclipart.org/assets/images/images/logo-no-text.jpg</url>
<link>http://openclipart.org</link>
<title>OpenClipart.org</title>
<height>93</height>
<width>114</width>
</image>
<item>
<title>walking dog</title>
<link>http://openclipart.org/detail/720/walking-dog-by-johnny_automatic</link>
<pubDate>Tue, 17 Oct 2006 21:23:37 -0400</pubDate>
<dc:creator>johnny_automatic</dc:creator>
<description>cartoon of a girl walking a dog from http://www.usda.gov/cnpp/KidsPyra/National Agricultural Library, Agricultural Research Service, U. S. Department of Agriculture</description>
<enclosure url="http://openclipart.org/people/johnny_automatic/johnny_automatic_walking_dog.svg" type="image/svg+xml" length="99841"/>
<guid>http://openclipart.org/detail/720/walking-dog-by-johnny_automatic</guid>
<cc:license>http://creativecommons.org/licenses/publicdomain</cc:license>
<media:thumbnail url="http://openclipart.org/image/90px/svg_to_png/720/johnny_automatic_walking_dog.png"/>
</item>

为什么我不能得到 <media:thumbnail> url 属性与我的 foreach 语句? (我已经读过 PHP library for parsing XML with a colons in tag names? )这是一个不同的问题。

最佳答案

首先,您在 foreach 循环中使用了一个 undefined variable 。您已经定义了 $clipinfo,但您正试图在您的代码中使用 $clipartinfo

其次,您访问的属性不正确:

<media:thumbnail url="http://openclipart.org/image/foo.png"/>

您正在尝试访问 URL 属性。这需要用 attributes() 完成方法。

改变:

$thumb=$clipartinfo->children('media', true)->thumbnail['url'];

到:

$thumb = $clipinfo->children('media', true)->thumbnail->attributes()->url;

希望这对您有所帮助!

关于PHP 使用子项在标记名称中使用冒号解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com