PHP - 简单的 XML 属性问题
我使用 PHP 和简单 XML。
我使用的循环不像预期的那样工作:
foreach($item->Image->attributes()->source as $key => $value)
{
echo $value;
}
在 foreach 中,我尝试告诉我想要获取属性中列出的图像的“源”。
上面的 $item
是通过围绕我上面的代码 foreach($xml_content->Section->Item as $item {}
, (如果您需要知道它来自哪里)
我的对象看起来像这样:
object(SimpleXMLElement)#36 (4) {
["Text"]=>
string(15) "Vinbergs socken"
["Description"]=>
string(73) "Vinbergs socken ingick i Faurås härad och ligger i Falkenbergs kommun.
"
["Url"]=>
string(44) "http://sv.wikipedia.org/wiki/Vinbergs_socken"
["Image"]=>
object(SimpleXMLElement)#38 (1) {
["@attributes"]=>
array(3) {
["source"]=>
string(113) "http://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Faur%C3%A5s_Vinberg.svg/50px-Faur%C3%A5s_Vinberg.svg.png"
["width"]=>
string(2) "50"
["height"]=>
string(2) "41"
}
}
}
我的帖子开头的循环有什么问题?
I use PHP and Simple XML.
I use a loop that does not work like expected:
foreach($item->Image->attributes()->source as $key => $value)
{
echo $value;
}
In the foreach I try to tell that I want to get the "source" of the image which is listed in the attributes.
$item
above is created with a loop around my code above foreach($xml_content->Section->Item as $item {}
, (if you need to know where it came from)
My object looks like this:
object(SimpleXMLElement)#36 (4) {
["Text"]=>
string(15) "Vinbergs socken"
["Description"]=>
string(73) "Vinbergs socken ingick i Faurås härad och ligger i Falkenbergs kommun.
"
["Url"]=>
string(44) "http://sv.wikipedia.org/wiki/Vinbergs_socken"
["Image"]=>
object(SimpleXMLElement)#38 (1) {
["@attributes"]=>
array(3) {
["source"]=>
string(113) "http://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Faur%C3%A5s_Vinberg.svg/50px-Faur%C3%A5s_Vinberg.svg.png"
["width"]=>
string(2) "50"
["height"]=>
string(2) "41"
}
}
}
What is wrong with my loop in the beginning of my post?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在尝试迭代一个字符串,而不是一个数组
要迭代 Image 元素的所有属性,请使用
如果您只想输出源属性的值,请不要迭代,而是使用简写 请
参阅此 演示 和 PHP 手册中的 SimpleXml 基本用法示例
Your are trying to iterate a string, not an array
To iterate all the attributes of the Image element, use
If you just want to output the value of the source attribute, do not iterate but use the shorthand
See this demo and the SimpleXml Basic Usage Examples in the PHP Manual