loading...
دانلود رایگان کتاب های دانشگاهی کامپیوتر-نرم افزار -آموزش کامپیوتر-پروژه-قالب وبلاگ و سایت -
سید میلاد رسولی بازدید : 300 دوشنبه 02 بهمن 1391 نظرات (0)

در مقاله "XML در دات نت : ايجاد يک فايل "با نحوه ايجاد يک فايل XML با استفاده از XmlTextWriter آشنا شديم . در اين مقاله به بررسی  نحوه خواندن يک فايل XML  خواهيم پرداخت .
به منظور دستيابی به محتوای  يک سند XML ، می بايست  آن را Parse نمود تا به بخش مورد نظر دست يافت . به نرم افزارهائی که امکان انجام چنين عملياتی را فراهم می نمايند ، "پارسر"  گفته می شود . پارسرها دارای دو نوع متفاوت می باشند :

  • پارسرهای   ( DOM  : ( Document Object Model،  يک  ساختار درختی  از سند XML را  در حافظه ايجاد نموده و امکان حرکت بر روی گره ها و يا خصلت های متفاوتی را در اختيار قرار می دهند.

  • پارسرهای   ( SAX  : ( Simple API for XML، سندهای XML  را به صورت ترتيبی پردازش نموده و  نسبت به پارسرهای DOM حافظه بمرابت کمتری را اشغال می نمايند .

در MSXML ver 3.0 ، شرکت مايکروسافت دو پارسر فوق را ارائه نموده است . در دات نت نيز از پارسر DOM که دارای سازگاری و شباهت بسيار زيادی با MSXML است و پارسر SAX که دستخوش تغييرات متعددی نسبت به گذشته شده است ، استفاده می گردد . پارسرهای قبل از دات نت ، (مثلا" پارسر MSXML ) کلاس ها و اينترفيس های متعددی را به منظور انجام عمليات متقاوت بر روی اسناد XML ارائه نموده که با استاندارد پيشنهادی کنسرسيوم وب ، سازگاری و نزديکی قابل توجهی دارد. در دات نت علاوه بر استمرار وضعيت فوق ، روش های ساده و انعطاف پذيری به منظور کار بر روی اسناد XML ارائه شده است .

کلاس XmlTextReader
کلاس XmlTextReader روشی سريع و موثر به منظور parse نمودن اسناد XML  را ارائه می نمايد.  کلاس فوق از حافظه بطرز کاملا" حساب شده و بهينه ای استفاده می نمايد. صرفا" گره جاری در حافظه نگهداری می گردد ( Cached ) و عنصری که قبلا" parse شده است  در حافظه وجود نخواهد داشت . در صورتی که به وجود عناصر قبلی نياز باشد ، می بايست  فايل XML  مجددا" از ابتدا و به صورت forward-only  خوانده شود.  کلاس فوق از XmlReader به ارث رسيده و متعلق به System.Xml می باشد .
با استفاده از متدها و خصلت های ارائه شده توسط کلاس فوق، می توان بسادگی به محتوا و عناصر موجود در يک سند XML دست يافت . متدهای ارائه شده همواره گره جاری را برمی گردانند و در ادامه می توان عمليات مورد نظر را بر روی آنان انجام داد .
به منظور استفاده از کلاس XmlTextReader می بايست از System.Xml استفاده و يک نمونه از کلاس فوق را ايجاد نمود .

 Dim reader As XmlTextReader  
 reader = New XmlTextReader ( Server.MapPath("visitors.xml") )

به منظور خواندن محتوای يک سند XML از متد Read و در يک ساختار تکرار استفاده می نمائيم .

Do while reader.read ()
     'عمليات مورد نظر
loop

در صورتی که يک گره با موفقيت خوانده شود، مقدار True برگردانده شده و در ادامه می توان با استفاده از متدها  و خصلت های  ارائه شده ، عمليات مورد نظر را انجام داد. بررسی نوع يک گره ، دستيابی به خصلت هائی خاص و يا محتوای يک گره نمونه هائی در اين زمينه می باشد .
جدول زير مهمترين متدها و خصلت های  کلاس XmlReaderClass را نشان می دهد .

کاربرد

متد / خصلت

 متد فوق ، cursor را بر روی گره بعدی قرار داده و درصورتی که  گره با موفقيت خوانده شود ، مقدار true را بر می گرداند . از متد فوق در يک ساختار تکرار و به منظور خواندن و انجام پردازش های لازم در خصوص اسناد XML استفاده می گردد .

   Read()

 خصلت فوق نوع گره را بر می گرداند ( المان ، متن و يا ساير موارد ).

  NodeType

خصلت فوق،  نام گره جاری را بر می گرداند .

  Name

 خصلت فوق ، محتوای گره را بر می گرداند .

  Value

 محتوای يک گره را بر اساس يک نوع داده خاص برمی گرداند. مثلا" متد ReadString محتوای يک گره را به صورت يک رشته برمی گرداند .

  ReadString(), Readxxxx()....
متد فوق ، مقدار خصلتی را که به عنوان پارامتر در اختيار آن گذاشته شده است ،  برمی گرداند .   GetAttribute("attb_name")

در صورتی که گره ای  دارای يک خصلت باشد، مقدار true و در غيراينصورت مقدار False ، برگردانده می شود .

  HasAttributes

مثال : استفاده از XmlTextReader  به منظور خواندن يک فايل  XML
 در اين مثال قصد داريم فايل Visitors.xml را که در مقاله "XML در دات نت : ايجاد يک فايل  با نحوه ايجاد آن آشنا شديم را خوانده و عناصر موجود در آن را به همراه مقادير نسبت داده شده به هر يک در خروجی نمايش دهيم .

محتوای فايل Visitors.xml

<?xml version="1.0" encoding="utf-8"?>
<userInfo>
  <browserInfo>
      <urlReferrer>http://localhost/MakeXmlFile1.aspx</urlReferrer>
      <userAgent>Mozilla/4.0 (compatible; MSIE 6.0; ... </userAgent>
      <userLanguages>fa, en-us;q=0.5</userLanguages>
   </browserInfo>
  <visitInfo timeVisited="10/15/2004 2:18:27 AM"> <ip>127.0.0.1</ip>
      <rawUrl>/MakeXmlFile1.aspx</rawUrl>
      <totalbytes>0</totalbytes>
      <browsertype>IE6</browsertype>
      <contentEncoding>Unicode UTF-8)</contentEncoding>
      <contentlength>0</contentlength>
      <httpmethod>GET</httpmethod>
       <IsSecureConnection>False</IsSecureConnection>
       <RequestType>GET</RequestType>
   </visitInfo>
</userInfo>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Text" %>

<script runat="server">
 sub Page_Load(obj as object, e as eventargs)
  Dim reader As XmlTextReader

  Try
     reader = New XmlTextReader ( Server.MapPath("visitors.xml") )
     Dim strNodeResult As String =""
     Dim objNodeType As XmlNodeType

     Do while reader.read ()
         objNodeType = reader.NodeType
         Select Case objNodeType
           Case XmlNodeType.XmlDeclaration   strNodeResult + =" XML Declaration : <b>" &_
                reader.Name & " " & reader.Value & "</b><br /> "
           Case XmlNodeType.Element   strNodeResult + =" Element : <b>" &_
                reader.Name & "</b><br /> "
           Case XmlNodeType.Text   strNodeResult + =" &nbsp; - Value : <b>" &_
                reader.Value & "</b></p><br /> "
        End Select
    If reader.AttributeCount > 0 Then
        Do While reader.MoveToNextAttribute()
           strNodeResult += "&nbsp - Attribute : <b>" & _
           reader.name & "</b> &nbsp - Value  <b>" & reader.Value & "</b><br />"
        Loop
   End If
  Loop
LblMessage.Text =" <P Align=""Center"" dir =""rtl""> خواندن فايل <b>Visitors.xml</b>
LblFile.Text = strNodeResult

Catch objError As Exception
        LblMessage.Text = "<b>* بروز اشکال در خواندن فايل </b>.<br /> "   &_
            objError.Message & "<br /> " & objError.Source
       Exit Sub
 Finally
       If ( Not reader Is Nothing ) then
          reader.close
      End If
  End Try
 End Sub
</script>
<html dir >
<form Language="vb" runat="server" >
   <asp:label id="LblMessage" runat="server" />
   <asp:label id="LblFile" runat="server" />
</form>
</html>

 مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام ReadXmlFile.aspx و اجرای آن ، خروجی زير نمايش داده می شود . 

مطالب مرتبط
ارسال نظر برای این مطلب

کد امنیتی رفرش
درباره ما
دانلود رایگان کتاب های دانشگاهی فنی و حرفه ای و دانشگاهی رشته کامپیوتر - برق الکترونیک - دانلود پروژه های کامپیوتر - برق - الکترونیک - دانلود پایان نامه های رایگان برق - الکترونیک - کامپیوتر - دانلود نرم افزار های تخصصی برق - الکترونیک - دانلود نرم افزار ها و گیم های کامپیوتر - دانلود نرم افزارها و گیم های لینوکس - دانلود فیلم و سریال ایرانی و خارجی - دانلود جدید ترین و بهترین آهنگ ها - تازه های رایانه و مبایل - قالب های وبلاگ و وبسایت - پروژه های برنامه نویسی - سخت افزار و راهنمایی ها خرید سخت افزار - شبکه - کتاب های تخصصی رایگان - دانلود کلیه مجلات منتشر شده کلیک جام جم و بایت خراسان - آموزش ویروس نویسی - فیلم های آموزشی کامپیوتر - دانلود پلاگین و فایل های PSD فوتوشاپ
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
  • پنجشنبه 26 شهريور 1394
  • يکشنبه 10 اسفند 1393
  • چهارشنبه 29 بهمن 1393
  • دوشنبه 27 بهمن 1393
  • شنبه 29 شهريور 1393
  • چهارشنبه 19 شهريور 1393
  • جمعه 13 تير 1393
  • چهارشنبه 11 تير 1393
  • سه شنبه 10 تير 1393
  • يکشنبه 08 تير 1393
  • پنجشنبه 05 تير 1393
  • چهارشنبه 04 تير 1393
  • دوشنبه 02 تير 1393
  • يکشنبه 01 تير 1393
  • شنبه 31 خرداد 1393
  • پنجشنبه 29 خرداد 1393
  • دوشنبه 26 خرداد 1393
  • يکشنبه 25 خرداد 1393
  • شنبه 24 خرداد 1393
  • جمعه 23 خرداد 1393
  • چهارشنبه 21 خرداد 1393
  • سه شنبه 20 خرداد 1393
  • دوشنبه 19 خرداد 1393
  • يکشنبه 18 خرداد 1393
  • شنبه 17 خرداد 1393
  • جمعه 16 خرداد 1393
  • چهارشنبه 14 خرداد 1393
  • سه شنبه 13 خرداد 1393
  • دوشنبه 12 خرداد 1393
  • شنبه 10 خرداد 1393
  • پنجشنبه 08 خرداد 1393
  • چهارشنبه 07 خرداد 1393
  • دوشنبه 05 خرداد 1393
  • يکشنبه 04 خرداد 1393
  • شنبه 03 خرداد 1393
  • جمعه 02 خرداد 1393
  • چهارشنبه 31 ارديبهشت 1393
  • سه شنبه 30 ارديبهشت 1393
  • دوشنبه 29 ارديبهشت 1393
  • يکشنبه 28 ارديبهشت 1393
  • شنبه 27 ارديبهشت 1393
  • پنجشنبه 25 ارديبهشت 1393
  • چهارشنبه 24 ارديبهشت 1393
  • سه شنبه 23 ارديبهشت 1393
  • دوشنبه 22 ارديبهشت 1393
  • يکشنبه 21 ارديبهشت 1393
  • شنبه 20 ارديبهشت 1393
  • جمعه 19 ارديبهشت 1393
  • پنجشنبه 18 ارديبهشت 1393
  • شنبه 13 ارديبهشت 1393
  • جمعه 12 ارديبهشت 1393
  • پنجشنبه 11 ارديبهشت 1393
  • چهارشنبه 10 ارديبهشت 1393
  • سه شنبه 09 ارديبهشت 1393
  • دوشنبه 08 ارديبهشت 1393
  • شنبه 06 ارديبهشت 1393
  • چهارشنبه 27 فروردين 1393
  • دوشنبه 25 فروردين 1393
  • يکشنبه 24 فروردين 1393
  • شنبه 23 فروردين 1393
  • جمعه 22 فروردين 1393
  • پنجشنبه 21 فروردين 1393
  • سه شنبه 19 فروردين 1393
  • دوشنبه 18 فروردين 1393
  • شنبه 16 فروردين 1393
  • جمعه 15 فروردين 1393
  • پنجشنبه 14 فروردين 1393
  • چهارشنبه 13 فروردين 1393
  • سه شنبه 12 فروردين 1393
  • دوشنبه 11 فروردين 1393
  • يکشنبه 10 فروردين 1393
  • شنبه 09 فروردين 1393
  • جمعه 08 فروردين 1393
  • پنجشنبه 07 فروردين 1393
  • چهارشنبه 06 فروردين 1393
  • شنبه 02 فروردين 1393
  • جمعه 01 فروردين 1393
  • پنجشنبه 29 اسفند 1392
  • چهارشنبه 28 اسفند 1392
  • سه شنبه 27 اسفند 1392
  • دوشنبه 26 اسفند 1392
  • سه شنبه 20 اسفند 1392
  • دوشنبه 19 اسفند 1392
  • يکشنبه 18 اسفند 1392
  • شنبه 17 اسفند 1392
  • جمعه 16 اسفند 1392
  • پنجشنبه 15 اسفند 1392
  • جمعه 02 اسفند 1392
  • چهارشنبه 16 بهمن 1392
  • سه شنبه 15 بهمن 1392
  • دوشنبه 14 بهمن 1392
  • يکشنبه 13 بهمن 1392
  • شنبه 12 بهمن 1392
  • جمعه 11 بهمن 1392
  • چهارشنبه 18 دی 1392
  • سه شنبه 17 دی 1392
  • دوشنبه 16 دی 1392
  • يکشنبه 15 دی 1392
  • شنبه 14 دی 1392
  • جمعه 13 دی 1392
  • سه شنبه 10 دی 1392
  • دوشنبه 09 دی 1392
  • يکشنبه 08 دی 1392
  • شنبه 07 دی 1392
  • جمعه 06 دی 1392
  • چهارشنبه 04 دی 1392
  • دوشنبه 02 دی 1392
  • چهارشنبه 29 آبان 1392
  • يکشنبه 26 آبان 1392
  • شنبه 25 آبان 1392
  • جمعه 24 آبان 1392
  • پنجشنبه 23 آبان 1392
  • چهارشنبه 22 آبان 1392
  • سه شنبه 21 آبان 1392
  • دوشنبه 20 آبان 1392
  • يکشنبه 19 آبان 1392
  • شنبه 18 آبان 1392
  • جمعه 17 آبان 1392
  • پنجشنبه 16 آبان 1392
  • چهارشنبه 15 آبان 1392
  • سه شنبه 14 آبان 1392
  • دوشنبه 13 آبان 1392
  • يکشنبه 12 آبان 1392
  • شنبه 11 آبان 1392
  • جمعه 10 آبان 1392
  • پنجشنبه 09 آبان 1392
  • چهارشنبه 08 آبان 1392
  • سه شنبه 07 آبان 1392
  • دوشنبه 06 آبان 1392
  • يکشنبه 05 آبان 1392
  • شنبه 04 آبان 1392
  • جمعه 03 آبان 1392
  • پنجشنبه 02 آبان 1392
  • چهارشنبه 01 آبان 1392
  • سه شنبه 30 مهر 1392
  • دوشنبه 29 مهر 1392
  • يکشنبه 28 مهر 1392
  • شنبه 27 مهر 1392
  • جمعه 26 مهر 1392
  • پنجشنبه 25 مهر 1392
  • سه شنبه 23 مهر 1392
  • چهارشنبه 03 مهر 1392
  • سه شنبه 02 مهر 1392
  • دوشنبه 01 مهر 1392
  • يکشنبه 31 شهريور 1392
  • شنبه 30 شهريور 1392
  • شنبه 02 شهريور 1392
  • جمعه 01 شهريور 1392
  • پنجشنبه 31 مرداد 1392
  • چهارشنبه 30 مرداد 1392
  • سه شنبه 29 مرداد 1392
  • دوشنبه 28 مرداد 1392
  • يکشنبه 27 مرداد 1392
  • شنبه 26 مرداد 1392
  • جمعه 25 مرداد 1392
  • پنجشنبه 24 مرداد 1392
  • چهارشنبه 23 مرداد 1392
  • دوشنبه 21 مرداد 1392
  • يکشنبه 20 مرداد 1392
  • جمعه 18 مرداد 1392
  • پنجشنبه 17 مرداد 1392
  • پنجشنبه 10 مرداد 1392
  • چهارشنبه 09 مرداد 1392
  • سه شنبه 08 مرداد 1392
  • دوشنبه 07 مرداد 1392
  • يکشنبه 06 مرداد 1392
  • شنبه 05 مرداد 1392
  • جمعه 04 مرداد 1392
  • پنجشنبه 03 مرداد 1392
  • چهارشنبه 02 مرداد 1392
  • سه شنبه 01 مرداد 1392
  • دوشنبه 31 تير 1392
  • يکشنبه 30 تير 1392
  • جمعه 28 تير 1392
  • چهارشنبه 26 تير 1392
  • سه شنبه 25 تير 1392
  • يکشنبه 23 تير 1392
  • شنبه 22 تير 1392
  • جمعه 21 تير 1392
  • يکشنبه 19 خرداد 1392
  • شنبه 18 خرداد 1392
  • چهارشنبه 15 خرداد 1392
  • سه شنبه 14 خرداد 1392
  • جمعه 10 خرداد 1392
  • چهارشنبه 08 خرداد 1392
  • سه شنبه 07 خرداد 1392
  • يکشنبه 05 خرداد 1392
  • جمعه 03 خرداد 1392
  • پنجشنبه 02 خرداد 1392
  • چهارشنبه 01 خرداد 1392
  • يکشنبه 29 ارديبهشت 1392
  • جمعه 27 ارديبهشت 1392
  • پنجشنبه 26 ارديبهشت 1392
  • چهارشنبه 25 ارديبهشت 1392
  • دوشنبه 23 ارديبهشت 1392
  • يکشنبه 22 ارديبهشت 1392
  • شنبه 21 ارديبهشت 1392
  • جمعه 20 ارديبهشت 1392
  • چهارشنبه 18 ارديبهشت 1392
  • دوشنبه 16 ارديبهشت 1392
  • يکشنبه 15 ارديبهشت 1392
  • شنبه 14 ارديبهشت 1392
  • جمعه 13 ارديبهشت 1392
  • پنجشنبه 12 ارديبهشت 1392
  • چهارشنبه 11 ارديبهشت 1392
  • سه شنبه 10 ارديبهشت 1392
  • دوشنبه 09 ارديبهشت 1392
  • يکشنبه 08 ارديبهشت 1392
  • شنبه 07 ارديبهشت 1392
  • جمعه 06 ارديبهشت 1392
  • شنبه 10 فروردين 1392
  • پنجشنبه 08 فروردين 1392
  • چهارشنبه 07 فروردين 1392
  • دوشنبه 05 فروردين 1392
  • يکشنبه 04 فروردين 1392
  • شنبه 03 فروردين 1392
  • جمعه 02 فروردين 1392
  • چهارشنبه 30 اسفند 1391
  • سه شنبه 29 اسفند 1391
  • دوشنبه 28 اسفند 1391
  • پنجشنبه 24 اسفند 1391
  • چهارشنبه 23 اسفند 1391
  • سه شنبه 22 اسفند 1391
  • دوشنبه 21 اسفند 1391
  • يکشنبه 20 اسفند 1391
  • شنبه 19 اسفند 1391
  • جمعه 18 اسفند 1391
  • پنجشنبه 17 اسفند 1391
  • چهارشنبه 16 اسفند 1391
  • سه شنبه 15 اسفند 1391
  • دوشنبه 14 اسفند 1391
  • يکشنبه 13 اسفند 1391
  • شنبه 12 اسفند 1391
  • جمعه 11 اسفند 1391
  • پنجشنبه 10 اسفند 1391
  • چهارشنبه 09 اسفند 1391
  • سه شنبه 08 اسفند 1391
  • دوشنبه 07 اسفند 1391
  • يکشنبه 06 اسفند 1391
  • شنبه 05 اسفند 1391
  • جمعه 04 اسفند 1391
  • پنجشنبه 03 اسفند 1391
  • چهارشنبه 02 اسفند 1391
  • سه شنبه 01 اسفند 1391
  • دوشنبه 30 بهمن 1391
  • يکشنبه 29 بهمن 1391
  • شنبه 28 بهمن 1391
  • جمعه 27 بهمن 1391
  • پنجشنبه 26 بهمن 1391
  • چهارشنبه 25 بهمن 1391
  • سه شنبه 24 بهمن 1391
  • دوشنبه 23 بهمن 1391
  • يکشنبه 22 بهمن 1391
  • شنبه 21 بهمن 1391
  • جمعه 20 بهمن 1391
  • پنجشنبه 19 بهمن 1391
  • چهارشنبه 18 بهمن 1391
  • سه شنبه 17 بهمن 1391
  • دوشنبه 16 بهمن 1391
  • يکشنبه 15 بهمن 1391
  • پنجشنبه 12 بهمن 1391
  • چهارشنبه 11 بهمن 1391
  • سه شنبه 10 بهمن 1391
  • دوشنبه 09 بهمن 1391
  • دوشنبه 02 بهمن 1391
  • يکشنبه 01 بهمن 1391
  • سه شنبه 26 دی 1391
  • دوشنبه 25 دی 1391
  • شنبه 23 دی 1391
  • جمعه 22 دی 1391
  • پنجشنبه 21 دی 1391
  • شنبه 02 دی 1391
  • جمعه 01 دی 1391
  • پنجشنبه 30 آذر 1391
  • چهارشنبه 29 آذر 1391
  • سه شنبه 28 آذر 1391
  • دوشنبه 27 آذر 1391
  • يکشنبه 26 آذر 1391
  • شنبه 25 آذر 1391
  • پنجشنبه 23 آذر 1391
  • چهارشنبه 22 آذر 1391
  • سه شنبه 21 آذر 1391
  • دوشنبه 20 آذر 1391
  • يکشنبه 19 آذر 1391
  • شنبه 18 آذر 1391
  • جمعه 17 آذر 1391
  • پنجشنبه 16 آذر 1391
  • چهارشنبه 15 آذر 1391
  • سه شنبه 14 آذر 1391
  • پنجشنبه 09 آذر 1391
  • يکشنبه 27 فروردين 1391
  • جمعه 18 فروردين 1391
  • چهارشنبه 16 فروردين 1391
  • سه شنبه 15 فروردين 1391
  • سه شنبه 8 فروردين 1391
  • دوشنبه 7 فروردين 1391
  • دوشنبه 6 فروردين 1391
  • يکشنبه 6 فروردين 1391
  • شنبه 5 فروردين 1391
  • جمعه 4 فروردين 1391
  • پنجشنبه 03 فروردين 1391
  • پنجشنبه 3 فروردين 1391
  • چهارشنبه 02 فروردين 1391
  • چهارشنبه 2 فروردين 1391
  • سه شنبه 01 فروردين 1391
  • سه شنبه 1 فروردين 1391
  • دوشنبه 29 اسفند 1390
  • يکشنبه 28 اسفند 1390
  • آمار سایت
  • کل مطالب : 945
  • کل نظرات : 0
  • افراد آنلاین : 20
  • تعداد اعضا : 8097
  • آی پی امروز : 237
  • آی پی دیروز : 315
  • بازدید امروز : 490
  • باردید دیروز : 1,168
  • گوگل امروز : 0
  • گوگل دیروز : 3
  • بازدید هفته : 2,591
  • بازدید ماه : 5,939
  • بازدید سال : 94,897
  • بازدید کلی : 1,007,948
  • کدهای اختصاصی
    Yahoo Status by RoozGozar.com