首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML simpleDOM sortedXPath -如何选择和显示父属性?

XML simpleDOM sortedXPath -如何选择和显示父属性?
EN

Stack Overflow用户
提问于 2012-07-06 04:00:59
回答 1查看 766关注 0票数 1

xml文件:

代码语言:javascript
复制
<?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>

代码:

代码语言:javascript
复制
<?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++;
}
?>

结果:

代码语言:javascript
复制
07/06 - 09:00 Phoenix
07/07 - 06:00 Sapporo
07/07 - 07:30 Consadole
07/08 - 04:00 Chicago

etc...which都正确。

但是如何显示合适的EventGroup名称呢?如何选择和显示每个事件结果的parent name属性?我想要的结果应该是这样的:

代码语言:javascript
复制
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

等等。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-06 05:01:26

您可以使用parentNode()获取节点的父节点。然后您可以正常获取属性值:

代码语言:javascript
复制
$parent = $item->parentNode();
echo $parent['Name'];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11351705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档