J'ai un fichier xml qui ressemble à ceci et j'essaye d'obtenir tous les attributs d'emplacement dans une cellule de tableau. J'ai réussi à obtenir le titre et la description mais je n'arrive pas à obtenir tous les emplacements dans les événements.xml imbriqué avec linq dans le répéteur
Quelqu'un peut-il m'aider à ce sujet?
Vive Terry
Ce que je suis venu est jusqu'à présent les éléments suivants
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();
et ici le xml
Events Défilé de mode 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>
et ici le répéteur
<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>
Avez-vous envisagé d'utiliser XSLT? :-) –
Je ne peux pas imaginer un cas où l'on voudra utiliser XSLT s'il peut utiliser LINQ en XML. Cela étant dit, il y a des raisons légitimes pour XSLT comme quand il y a un besoin d'interopérabilité avec les systèmes non-NET et quand la transformation doit être fournie au système plus tard et permettre LINQ to XML peut être un risque de sécurité parce qu'il peut être utilisé pour injecter du code arbitraire. – Stilgar