Bind de données XML dans une ListTable asp.net
16 Mai 2011 , Rédigé par Hugues MEUNIER Publié dans #.NET
Il est souvent utile de construire une interface asp.net dynamique fonction de données XML (ici les données sont récupérées dans une colonne de type xml depuis SQL Server). Ceci permet d'adapter l'IHM en fonction du contenu XML variable.
L'exemple ci-dessous permet d'afficher et de modifier les paramètres msdeploy (Web Deployment Tool). Ces données sont au format suivant:
<parameters>
<setParameter name="IIS Web Application Name" value="WS_TEST" />
<setParameter name="UrlWS" value="http://Serveur/chemin" />
</parameters>
Le but est d'afficher une ListTable contenant pour chaque ligne un couple Label, TextBox.
Première étape : la page aspx
<asp:DataList ID="DataList1" runat
<ItemTemplate
<tr
<td
<asp:Label ID="Label1" runat="server" Width="300" style="font-weight: bold; font-size:small; color: Navy" Text='<%#XPath("@name") %>'></asp:Label
</td
<td
<asp:TextBox ID="TextBox1" runat="server" Width="600" Text='<%#XPath("@value") %>'></asp:TextBox
</td
</ItemTemplate
</asp:DataList>
// Création du document XML
XmlDocument xmldoc = new XmlDocument();
xmldoc.CreateXmlDeclaration("1.0", "ISO-8859-1", null);
//Lecture des données xml
xmldoc.LoadXml(item2["ConfigXml"].Text.ToString());
//Sélection dans l'arbre xml du noeud à afficher
XmlNodeList nodes = xmldoc.SelectNodes("parameters/setParameter"
DataList1.DataSource = nodes;
DataList1.DataBind();
Newsletter
Abonnez-vous pour être averti des nouveaux articles publiés.
Pages
Catégories
- 79 .NET
- 35 General
- 7 Hardware
- 5 Architecture applicative
- 4 J2EE
- 2 Cloud
- 2 Microsoft
- 2 Rails
- 2 WPF
- 1 Architecture technique
- 1 Astronomie
- 1 IA