Borna66
08-03-2010, 08:58 PM
XmlDataSource کنترل جدیدی است که همراه با Asp.Net 2.0 ارائه شده است و امکان کار با منابع XML را برای ما فراهم می کند.
امروزه بخش قابل توجهی از داده ها به فرمت XML ذخیره و رد و بدل می شوند. کنترل XmlDataSource به شما امکان می دهد تا به منبع داده XML متصل شده و با آن کار کنید. الزاما" منبع داده نباید یک فایل XML فیزیکی باشد بلکه ممکن است یک خروجی RSS و یا سرویس وب باشد.
برای آشنایی بهتر با این کنترل فایل XML فرضی زیر را در نظر بگیرید.
members.xml
<?xml version="1.0" encoding="utf-8" ?>
<Members>
<User>
<name>Mehdi Seyedein</name>
<age>29</age>
<username>smehdi</username>
<password>123459</password>
</User>
<User>
<name>Alireza Esmram</name>
<age>24</age>
<username>aesmram</username>
<password>09123687629</password>
</User>
</Members>
از آنجایی که ظاهر این فایل مشخص است نگهدارنده اطلاعات دو تن از کاربران سایت می باشد.
حال که فایل members.xml مشخص شد با اضافه کردن یک کنترل XmlDataSource به صورت زیر به صفحه خود اولین گام برای نمایش محتوای منبع را در یک کنترل GridView بر می داریم.
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/members.xml" />
در اینجا توسط خاصیت DataFile ، فایل منبع را مشخص می کنیم. در صورتی که منبع شما یک فایل فیزیکی نیست می توانید آدرس کامل آن را وارد نمایید.
پس از ایجاد و تنظیم XmlDataSource یک کنترل GridView (یا هر کنترل دیگری که به منبع داده مقید می شود) به فرم خود اضافه می کنیم و DataSourceID آن را برابر XmlDataSource1 که شناسه کنترل XmlDataSource است قرار می دهیم و توسط فرمان XPath مقادیر دلخواه خود را از منبع واکشی می کنیم :
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XmlDataSource1"
Width="350px" CellPadding="4" Font-Names="tahoma" Font-Size="9pt" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Username">
<ItemTemplate>
<%#XPath("username") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Password">
<ItemTemplate>
<%#XPath("password") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<%#XPath("name") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age">
<ItemTemplate>
<%#XPath("age") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
خروجی برنامه فوق بصورت زیر است:
http://up.iranblog.com/Files/ebb81794931242269292.JPG
امروزه بخش قابل توجهی از داده ها به فرمت XML ذخیره و رد و بدل می شوند. کنترل XmlDataSource به شما امکان می دهد تا به منبع داده XML متصل شده و با آن کار کنید. الزاما" منبع داده نباید یک فایل XML فیزیکی باشد بلکه ممکن است یک خروجی RSS و یا سرویس وب باشد.
برای آشنایی بهتر با این کنترل فایل XML فرضی زیر را در نظر بگیرید.
members.xml
<?xml version="1.0" encoding="utf-8" ?>
<Members>
<User>
<name>Mehdi Seyedein</name>
<age>29</age>
<username>smehdi</username>
<password>123459</password>
</User>
<User>
<name>Alireza Esmram</name>
<age>24</age>
<username>aesmram</username>
<password>09123687629</password>
</User>
</Members>
از آنجایی که ظاهر این فایل مشخص است نگهدارنده اطلاعات دو تن از کاربران سایت می باشد.
حال که فایل members.xml مشخص شد با اضافه کردن یک کنترل XmlDataSource به صورت زیر به صفحه خود اولین گام برای نمایش محتوای منبع را در یک کنترل GridView بر می داریم.
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/members.xml" />
در اینجا توسط خاصیت DataFile ، فایل منبع را مشخص می کنیم. در صورتی که منبع شما یک فایل فیزیکی نیست می توانید آدرس کامل آن را وارد نمایید.
پس از ایجاد و تنظیم XmlDataSource یک کنترل GridView (یا هر کنترل دیگری که به منبع داده مقید می شود) به فرم خود اضافه می کنیم و DataSourceID آن را برابر XmlDataSource1 که شناسه کنترل XmlDataSource است قرار می دهیم و توسط فرمان XPath مقادیر دلخواه خود را از منبع واکشی می کنیم :
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XmlDataSource1"
Width="350px" CellPadding="4" Font-Names="tahoma" Font-Size="9pt" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Username">
<ItemTemplate>
<%#XPath("username") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Password">
<ItemTemplate>
<%#XPath("password") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<%#XPath("name") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age">
<ItemTemplate>
<%#XPath("age") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
خروجی برنامه فوق بصورت زیر است:
http://up.iranblog.com/Files/ebb81794931242269292.JPG