صفحه اصلی  |  درباره ما مقالات  |  آگهی در سایت  ارتباط با ما

جستجو :   بگرد!
جستجو پیشرفته

ورود کاربران
شناسه کاربری:  
کلمه عبور :  
 ورود  عضویت
ارسال کلمه عبور
سایت های مرتبط
سایت رسمی Asp.net 
آموزش HTML
انجمن برنامه نویسان دات نت
تبلیغات

جستجو، دایرکتوری وب فارسی، 118، لغت نامه، تقویم، اخبار و ...
در جستجوگر ریسمون

XML و خواندن اطلاعات از آن

توسط : علي حاج شفيعيها (1386/11/1) | بازدید : 1768

روش تبديل اطلاعات از بانک اطلاعاتی به XML و نمايش اطلاعات آن 


در اين مقاله سعی دارم که نحوه نوشتن در XML و خواندن از آن را شرح دهم. برای مثال ما يك وبلاگ داريم که اطلاعات را از بانک اطلاعاتی Access می خواند. ولی من برای اينکه همين اطلاعات را در يک فايل XML هم داشته باشم اين کد را به Load صفحه اضافه کردم:
 

Dim DS As New DataSet()
Dim strConnect As New OleDbConnection(ConfigurationSettings.AppSettings("datasource"))
Dim objSQLAdapter As New OleDbDataAdapter("SELECT * from blog order by id DESC", strConnect)
objSQLAdapter.Fill(DS, "blog")
Dim doc As XmlDataDocument = New XmlDataDocument(DS)
Dim writer As XmlTextWriter = New XmlTextWriter("D:\www\weblog\weblog.xml", Nothnig)
writer.Formatting = Formatting.Indented
doc.Save(writer)

در اين کد با استفاده از شئ DataSet، اطلاعات را از جدول مورد نظر بانک اطلاعاتی خود می خوانيم و آن را در يک فايل XML به نام weblog.xml ذخيره می کنيم. اگر اين کد را اجرا کنيم يک فايل XML ايجاد می شود و هر وقت صفحه اول اجرا شود فايل XML رونويسی می شود.

اما حالا يک فايل XML داريم و می خواهيم از آن استفاده کنيم. مخصوصا استفاده از XML برای سايت های خبری يا وبلاگ ها بسيار مناسب است. مثلا فرض کنيد که می خواهيم خبرهای موجود در يک سايت ديگر که به شکل XML ارائه می شوند (مانند RSS) را در سايت خودمان نمايش دهيم. برای اين کار ابتدا يک فايل ASPX ايجاد کنيد و اين کد را در قسمت Design يا همان HTML آن بنويسيد.

<asp:DataList id="theDataList" runat="server" Width="100%" dir=rtl CssClass=text>
    <ItemTemplate>
        تاريخ :<%# DataBinder.Eval(Container.DataItem, "news_date") %><br>
        عنوان : <%# DataBinder.Eval(Container.DataItem, news_title") %><br><br>
        <%# DataBinder.Eval(Container.DataItem, "news_body") %><br>
        <hr>
    </ItemTemplate>
</asp:DataList>

ما در اينجا يک کنترل DataList ايجاد کرديم و مقادير مورد نظر را در آن نوشتيم. حالا کدی که در Load اين صفحه بايد بنويسيم به اين شکل خواهد بود:

Dim ds As New DataSet()
ds.ReadXml("d:\www\weblog\weblog.xml", XmlReadMode.Auto)
theDataList.DataSource = ds
theDataList.DataBind()

اگر اين صفحه را اجرا کنيد تمام فيلدهای XML در اين فايل ASP.NET نمايش داده خواهد شد. در مثال بالا از يک فايل XML موجود بر روی ديسک استفاده شده است حال آنکه می توانيم بجای اين آدرس محلی از يک آدرس موجود در وب که همان آدرس سايت مورد نظر است استفاده کنيم. مثلا اگر بخواهيد اخبار سايت مورد نظر را در سايت خود نمايش دهيد کافی است اينگونه عمل کنيد:

Dim ds As New DataSet()
ds.ReadXml("http://www.website.com/weblog.xml",XmlReadMode.Auto)
theDataList.DataSource = ds
theDataList.DataBind

پی نوشت :

این مقاله توسط آقای علی حاج شفيعيها در تاریخ ۱۳۸۲/۵/۲۲ برای IranAsp.Net تهیه شده و در آن سایت ۴۱۹۵ بار بازدید شده بود.



همه مقالات کلیات Asp.Net را ببینید.

 
ابزار ها
 نسخه چاپی
 ارسال به دوستان
 اضافه به علاقه مندیها

این سایت با الگو گیری از سایت IranAsp.Net که بین سال های 1380 تا 1384 خانه برنامه نویسان Asp.net فارسی زبان بود راه اندازی شده است.


 

©1386-1388 AspCode.Ir

 آگهی در سایت | شرایط استفاده | پیوند به ما
| وبلاگ