このようなXMLファイルがあり、テーブルセル内のすべての位置属性を取得しようとしています。私はタイトルと説明を得ることができたが、何とかイベント内のすべての場所を取得できなかった。リピータのlinqでネストされたxml
誰かが私にこれを助けることができますか?
乾杯 テリー
私は今のところ出てくる次
var qListCurrentMonth = (from feed in doc.Descendants("item")
select new
{
title = feed.Element("title").Value,
description = feed.Element("description").Value,
events = (from ev in feed.Element("events").Elements("location")
select new
{
city = ev.Attribute("city")
}).ToList()
});
rptFeedItems.DataSource = qListCurrentMonth;
rptFeedItems.DataBind();
、ここでXML
イベントできたもの ファッションショー1
<description>item descr</description>
<link>http://somelink</link>
<events>
<location city="nyc" date="12.12.08" link="http://www.etc.com" />
<location city="nyc" date="25.11.08" link="http://www.etc.com" />
<location city="sfo" date="11.11.08" link="http://www.etc.com" />
<location city="sfo" date="22.01.08" link="http://www.etc.com" />
<location city="dal" date="12.12.08" link="http://www.etc.com" />
</events>
</item>
<item>
<title>Fashion show 2</title>
<description>item descr</description>
<link>http://somelink</link>
<events>
<location city="nyc" date="12.12.08" link="http://www.etc.com" />
<location city="nyc" date="25.11.08" link="http://www.etc.com" />
<location city="sfo" date="11.11.08" link="http://www.etc.com" />
<location city="sfo" date="22.01.08" link="http://www.etc.com" />
<location city="dal" date="12.12.08" link="http://www.etc.com" />
</events>
</item>
、ここでリピータ
<table border="1">
<asp:Repeater runat="server" ID="rptFeedItems">
<ItemTemplate>
<tr>
<td><%# Eval("title")%></td>
<td><%# Eval("description")%></td>
<td><%# Eval("events")%></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
XSLTの使用を検討しましたか? :-) –
LINQ to XMLをXMLに使うことができるのであれば、XSLTを使いたいと思うことは想像もできません。これは、非.NETシステムとの相互運用性が必要な場合や、後でシステムに変換を提供し、LINQ to XMLを許可する必要がある場合など、XSLTが正当な理由があると言われています任意のコードを注入する。 – Stilgar