وقت بخیر دوستان، با آموزش برنامه نویسی (Visual Basic.NET (VB.NET از وب سایت پی وی لرن همراه هستیم. XML چیست؟ در این جلسه با این مبحث می پردازیم و همچنین مطالبی در مورد پردازش XML نیز خواهیم داشت. پردازش XML در سه بخش تنظیم شده است. در ابتدا توضیحاتی راجع به XML خواهیم داشت.
XML چیست؟ (Extensionible Markup Language (XML یک زبان نشانه گذاری است دقیقاً مانند HTML یا SGML. این مورد توسط کنسرسیوم جهانی وب (World Wide Web Consortium) معرفی می شود و به صورت استاندارد باز در دسترس است.
فضای نام System.Xml در فریم ورک Net. شامل کلاس هایی برای پردازش اسناد XML است.
حال که می دانیم XML چیست؟ بنابراین به بررسی کلاس ها می پردازیم.
در زیر برخی از کلاس های رایج در فضای نامی System.Xml آورده شده است.
ردیف | کلاس و شرح |
---|---|
۱ | XmlAttribute یک ویژگی (attribute) را نشان می دهد. مقادیر معتبر و پیش فرض برای ویژگی در (document type definition (DTD یا شِما تعریف شده است. |
۲ | XmlCDataSection یک بخش CDATA را نشان می دهد. |
۳ | XmlCharacterData روش های دستکاری متن را ارائه می دهد که توسط چندین کلاس استفاده می شود. |
۴ | XmlComment محتوای یک کامنت XML را نشان می دهد. |
۵ | XmlConvert اسامی XML را رمزگذاری و رمزگشایی می کند و روش هایی برای تبدیل بین انواع زبان های مشترک روتین و انواع (XML Schema definition language (XSD) را ارائه می دهد. هنگام تبدیل انواع داده ، مقادیر برگشتی مستقل از محلی هستند. |
۶ | XmlDeclaration حاکی از نود اعلان اچ ام ال <?xml version=’1.0’…?> است. |
۷ | XmlDictionary پیاده سازی یک دیکشنری، برای بهینه سازی (Windows Communication Foundation (WCF یِ XML reader/writer به کار می رود. |
۸ | XmlDictionaryReader یک کلاس انتزاعی که (Windows Communication Foundation (WCF از XmlReader مشتق شده است تا serialization و deserialization را انجام دهد. |
۹ | XmlDictionaryWriter یک کلاس انتزاعی را نشان می دهد که (Windows Communication Foundation (WCF از XmlWriter مشتق شده است تا serialization و deserialization انجام دهد. |
۱۰ | XmlDocument یک سند XML را نشان می دهد. |
۱۱ | XmlDocumentFragment یک شیء کم حچم را نشان می دهد که برای عملیات درج درخت مفید است. |
۱۲ | XmlDocumentType اعلان نوع سند را نشان می دهد. |
۱۳ | XmlElement یک المان را نشان می دهد. |
۱۴ | XmlEntity موجودیت یک اعلان مانند <! ENTITY …> را نشان می دهد. |
۱۵ | XmlEntityReference یک گره مرجع موجود را نشان می دهد. |
۱۶ | XmlException اطلاعات دقیق درباره آخرین exception یا خطا را برمی گرداند. |
۱۷ | XmlImplementation کانتکست مجموعه ای از اشیاء XmlDocument را تعریف می کند. |
۱۸ | XmlLinkedNode گره را بلافاصله قبل یا به دنبال این گره دریافت می کند. |
۱۹ | XmlNode یک گره منفرد را در سند XML نشان می دهد. |
۲۰ | XmlNodeList مجموعه ای مرتب از گره ها را نشان می دهد. |
۲۱ | XmlNodeReader ریدری را نشان می دهد که دسترسی سریع ، رو به جلو (non-cached) را فقط به داده های XML در یک XmlNode امکان پذیر می کند. |
۲۲ | XmlNotation یک اعلامیه نشان گذاری مانند <! NOTATION …> را نشان می دهد. |
۲۳ | XmlParserContext کلیه اطلاعات کانتکست مورد نیاز XmlReader را برای تجزیه یک فراگمنت XML فراهم می کند. |
۲۴ | XmlProcessingInstruction یک دستورالعمل پردازش را نشان می دهد ، که XML برای نگه داشتن اطلاعات خاص پردازنده در متن سند تعریف می کند. |
۲۵ | XmlQualifiedName یک نام واجد شرایط XML را نشان می دهد. |
۲۶ | XmlReader ریدزی را نشان می دهد که دسترسی سریع ، بدون حافظه و دسترسی به جلو را به داده های XML ارائه می دهد. |
۲۷ | XmlReaderSettings مجموعه ای از ویژگی ها برای پشتیبانی در شی XmlReader ایجاد شده توسط متد Create را مشخص می کند. |
۲۸ | XmlResolver منابع XML خارجی را که توسط (Uniform Resource Identifier (URI نامگذاری شده است ، را حل می کند. |
۲۹ | XmlSecureResolver با رپینگ شی XmlResolver و محدود کردن منابعی که underlying XmlResolver به آن دسترسی دارد ، می تواند اجرای دیگری از XmlResolver را تضمین کند.وووووووووووو
|
۳۰ | XmlSignificantWhitespace فضای سفید بین نشانه گذاری در یک گره با محتوای مختلط یا فضای سفید داخل حوزه xml:space= ‘preserve’ را نشان می دهد. به این فضای سفید significant نیز گفته می شود.
|
۳۱ | XmlText محتوای متن یک عنصر یا ویژگی را نشان می دهد. |
۳۲ | XmlTextReader ریدری را نشان می دهد که دسترسی سریع ، بدون کَش، رو به جلو را به داده های XML ارائه می دهد. |
۳۳ | XmlTextWriter حاکی از نوعی رایتر که ایجاد جریان سریع ، بدون حافظه و رو به جلو یا فایل های حاوی داده های XML را فراهم می کند که مطابق با W3C Extensible Markup Language (XML) 1.0 و فضای نامی در توصیه های XML است. |
۳۴ | XmlUrlResolver منابع XML خارجی را که توسط (Uniform Resource Identifier (URI نام گذاری شده است ، تصمیم می گیرد. |
۳۵ | XmlWhitespace فضای سفید را در محتوای عنصر نشان می دهد. |
۳۶ | XmlWriter نوعی رایتر را ارائه می دهد که وسیله ی تولید جریان سریع ، بدون حافظه ، فقط رو به جلو یا فایل هایی حاوی داده های XML را فراهم می کند. |
۳۷ | XmlWriterSettings مجموعه ای از ویژگی های پشتیبانی از شی XmlWriter ایجاد شده توسط روش XmlWriter.Create را مشخص می کند. |
نحوه ی پردازش XML با مبحث APL های ML Parser را ادامه می دهیم.
دو پایه اصلی و پرکاربرد API برای داده های XML رابط های SAX و DOM می باشند.
(Simple API for XML (SAX – در این جا ، شما کال بَک را برای رویداد های مورد علاقه ثبت می کنید و سپس اجازه می دهید تا parser (تجزیه) از طریق سند پروسس کند. این زمانی مفید است که اسناد شما بزرگ باشد یا محدودیت حافظه داشته باشید ، آن فایل را با خواندن آن از دیسک تجزیه می کند ، و کل فایل هرگز در حافظه ذخیره نمی شود.
Document Object Model (DOM) API – این توصیه World Wide Web Consortium که در آن کل فایل در حافظه خوانده می شود و به صورت سلسله مراتبی (مبتنی بر درخت) ذخیره می شود تا تمام ویژگی های یک سند XML را نشان دهد.
SAX آشکارا نمی تواند اطلاعات را به همان سرعتی که DOM می تواند هنگام کار با فایل های بزرگ پردازش کند، پروسس کند. از طرف دیگر ، استفاده از DOM منحصراً می تواند منابع شما را از بین ببرد ، به ویژه اگر در بسیاری از فایل های کوچک استفاده شود.
SAX فقط خواندنی است ، در حالی که DOM امکان تغییر در فایل XML را می دهد. از آن جا که این دو API مختلف به معنای واقعی کلمه یک دیگر را تکمیل می کنند ، هیچ دلیلی وجود ندارد که نتوانید از آن ها برای پروژه های بزرگ استفاده کنید.
برای همه مثال های کد XML ، اجازه دهید از یک فایل XML ساده movies.xml به عنوان ورودی استفاده کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?xml version = "1.0"?> <collection shelf = "New Arrivals"> <movie title = "Enemy Behind"> <type>War, Thriller</type> <format>DVD</format> <year>2003</year> <rating>PG</rating> <stars>10</stars> <description>Talk about a US-Japan war</description> </movie> <movie title = "Transformers"> <type>Anime, Science Fiction</type> <format>DVD</format> <year>1989</year> <rating>R</rating> <stars>8</stars> <description>A schientific fiction</description> </movie> <movie title = "Trigun"> <type>Anime, Action</type> <format>DVD</format> <episodes>4</episodes> <rating>PG</rating> <stars>10</stars> <description>Vash the Stampede!</description> </movie> <movie title = "Ishtar"> <type>Comedy</type> <format>VHS</format> <rating>PG</rating> <stars>2</stars> <description>Viewable boredom</description> </movie> </collection> |
نحوه ی پردازش XML را در این بخش به پایان می رسانیم.
متشکریم از این که با جلسات آموزشی ویژوال بیسیک دات نت همراه هستید. تا این بخش از آموزش با این که XML چیست؟ آشنا شدیم و همچنین نحوه ی پردازش XML و APL های ML Parser رو آغاز نمودیم. در بخش های بعدی نیز مبحث پردازش XML را ادامه خواهیم داد و تجزیه ی XML با SAX API را مورد بررسی قرار خواهیم داد.