1

xml ファイル:

<?xml version='1.0' encoding='utf-8'?>

<MyName>

<EventGroup Name="Japan Shows" ID="341">
  <Event Name="Sapporo" ID="40163" StartTime="07/07/12 06:00:00" />
  <Event Name="Consadole" ID="5106" StartTime="07/07/12 07:30:00" />
  <Event Name="Albirex" ID="4063" StartTime="07/07/12 05:20:00" />
  <Event Name="Niigata" ID="1144" StartTime="07/07/12 09:00:00" />
</EventGroup>

<EventGroup Name="USA Shows" ID="342">
  <Event Name="Phoenix" ID="40162" StartTime="07/06/12 09:00:00" />
  <Event Name="California" ID="5105" StartTime="07/08/12 08:30:00" />
  <Event Name="Seattle" ID="4062" StartTime="07/08/12 02:20:00" />
  <Event Name="Chicago" ID="1143" StartTime="07/08/12 04:00:00" />
</EventGroup>

</MyName>

コード:

<?php
include 'SimpleDOM.php';
$xml = simpledom_load_file($cache_file);
$count = 0;
$max = 50;

foreach ($xml->sortedXPath("EventGroup/Event", "@StartTime", SORT_ASC) as $EventGroup => $item) {

$time = date("d/m - H:i", strtotime($item['StartTime']));
$event_name = $item['Name'];

    if ($count < $max) {
        echo "$time";
        echo "$event_name";
    }
    $count++;
}
?>

結果 :

07/06 - 09:00 Phoenix
07/07 - 06:00 Sapporo
07/07 - 07:30 Consadole
07/08 - 04:00 Chicago

など...どれも正しいです。

しかし、適切な EventGroup Name を表示するにはどうすればよいでしょうか? 各イベント結果の親名属性を選択して表示するにはどうすればよいですか? 私が望む結果は次のようになります:

USA Shows   07/06 - 09:00 Phoenix
Japan Shows 07/07 - 06:00 Sapporo
Japan Shows 07/07 - 07:30 Consadole
USA Shows   07/08 - 04:00 Chicago

等...

助けてくれてありがとう!

4

1 に答える 1

1

でノードの親を取得できますparentNode()。次に、通常どおり属性値を取得できます。

$parent = $item->parentNode();
echo $parent['Name'];
于 2012-07-05T21:01:25.617 に答える