خواندن فایل های XML در #C

خواندن فایل های XML در #C

درس بیست و سوم

 

مخفف عبارت Exteraible Markup Language یا زبان نشانه گذاری قابل توسعه است. زبان XML ، یک فرمت گسترده و رایج برای نقل و انتقال اطلاعات (data) می باشد، بیشتر به این دلیل که به راحتی برای هم انسان و هم ماشین قابل خواندن و درک است.

 

اگر تاکنون سایتی را به زبان HTML نوشته باشید، XML بسیار برای شما آشنا به نظر خواهد آمد، زیرا درواقع XML یک نسخه سخت گیرانه تر و توسعه داده شده تر از HTML است. XML از تگ ها (tags) ، خصوصیات (attributer) و مقادیر (values) تشکیل شده و ساختار کلی کدهای آن، همانند کد مثال زیر است:

 

<users> <user name=“Ali” age=“28>

<user name=“َAmirhosein” age=“33>

</user></user></users/>

 

همانطور که در کد مثال فوق می توانید مشاهده کنید، XML یک فرمت مناسب برای تعریف اطلاعات یا data بوده و اکثر زبان های برنامه نویسی دارای کلاس ها و توابع خاصی برای کار با XML هستند. زبان #C هم یکی از این زبان های برنامه نویسی است که یک فضای کلاس مخصوص یا namespace ، برای کار با XML دارد.

نام این namespace در زبان #C، مجموعه System .XML است که تقریبا توانایی کار با قابلیت های مختلف زبان XML را داراست.

 

به طور کلی ۲ متد برای خواندن فایل های XML در زبان #C وجود دارد:

 

  • کلاس xmlDocument .
  • کلاس XMLReader .

 

کلاس XMLDocument کل محتویات فایل XML را خوانده و در حافظه سیستم قرار می دهد. سپس به شما امکان می دهد به راحتی درون فایل XML به جلو و عقب حرکت کرده و حتی با استفاده از تکنولوژی XPath ، جستجو یا query مورد نظر خود را بر روی فایل انجام دهید.

 

کلاس XMLReader ، گزینه ای سریع تر و کمتر حافظه بر (memory consuming) بر خواندن فایل های XML می باشد. کلاس XMLReader به شما امکان می دهد تا در هر لحظه به وسیله فقط یک المنت، درون محتویات فایل XML حرکت کرده و همزمان مقدار value ها را خوانده و سپس به المنت بعدی در فایل بروید.

با انجام اعمال فوق، بدیهی است که برنامه حافظه بسیار کمتری را اشغال می کند، زیرا در هر لحظه فقط مقدار المنت جاری را در خود نگهداری خواهد کرد. علاوه بر این، به دلیل این که می توانید به صورت دستی مقدار هر value را چک کنید، مستقیما به مقادیر مورد نظر خود دسترسی خواهید داشت و این مسئله کار را بسیار سریع تر می کند.

 

برای مشاهده کار با Enumeration در زبان #C اینجا کلیک کنید.