【问题标题】:foreach xml from specific results in tags从标签中的特定结果中获取 xml
【发布时间】:2012-11-16 14:35:25
【问题描述】:

我目前正在使用以下代码

foreach ($xml->sport[0]->event[1] as $gameinfo):

加载 Eng。超级联赛。有没有一种方法可以从 id=3 的地方提取数据,而不是使用 [1] 方法?

XML 是:

<sports file_date="2012-11-16T14:30:27.853">
<sport name="Football" id="1">
    <event name="World Cup" id="1"></event>
    <event name="Eng. Premier League" id="3"></event>
    <event name="French Ligue 1" id="4"></event>
<sport>

【问题讨论】:

  • 您是否尝试访问 attributes() where id = 3
  • 我对 XML 不太熟悉,我该如何在 foreach 语句中做到这一点?
  • 完整的 dom/xpath? //event[@id=3]?

标签: php xml foreach


【解决方案1】:

这样做:

<?php

$string = '<sports file_date="2012-11-16T14:30:27.853">
<sport name="Football" id="1">
    <event name="World Cup" id="1"></event>
    <event name="Eng. Premier League" id="3"></event>
    <event name="French Ligue 1" id="4"></event>
</sport>
</sports>';

$xml = simplexml_load_string( $string );

foreach( $xml->sport->children() as $gameinfo )
{
    if( $gameinfo->attributes()->id == 3 )
    {
        // do your thing
    }
}

?>

【讨论】:

  • 这是我的代码,但它没有产生任何结果? jsfiddle.net/krischambers/KWwTZ
  • 打开错误报告,我用你的代码得到了这个:Notice: Trying to get property of non-object in test.php on line 7 和一个逻辑Fatal error: Call to a member function event() on a non-object in test.php on line 7
猜你喜欢
  • 2014-08-31
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多