【发布时间】:2013-07-22 06:19:11
【问题描述】:
使用 LINQ to XML,这是我的 XML 示例
<shows>
<Show Code="456" Name="My Event Name">
<Event Code="2453" VenueCode="39" Date="2010-04-13 10:30:00" />
<Event Code="2454" VenueCode="39" Date="2010-04-13 13:30:00" />
<Event Code="2455" VenueCode="39" Date="2010-04-14 10:30:00" />
<Event Code="2456" VenueCode="39" Date="2010-04-14 13:30:00" />
<Event Code="2457" VenueCode="39" Date="2010-04-15 10:30:00" />
</Show>
<Show... />
<Show... />
</shows>
如何返回特定节目的日期列表?我在查询字符串中传递了显示代码(“456”),并希望将所有日期/时间作为列表返回。
这是我目前的代码:
XDocument xDoc = XDocument.Load("path to xml");
var feeds = from feed in xDoc.Descendants("Show")
where feed.Attribute("Code").Equals("456")
select new
{
EventDate = feed.Attribute("Date").Value
};
foreach(var feed in feeds)
{
Response.Write(feed.EventDate + "<br />");
}
但我没有返回任何结果
【问题讨论】:
-
@reinierpost:不,他正在尝试从 Show="456" 迭代子事件标签。值“2456”是一个事件代码。 ;-)
-
@Prutswonder - 你是对的!
-
@kb:如我的回答中所述,您试图在 Show 中而不是在 Event 中查找 Date 属性。您可能需要另一个“from”子句...
-
我以为“Show”不会是它自己的.Descendant,但我知道什么......我只是路过。