كيفية قراءة XML من ملف باستخدام Visual C #

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية307548
للحصول على إصدار Microsoft. NET Visual Basic من هذه المقالة، راجع 301225.

تشير هذه المقالة إلى مساحة الاسم Microsoft. net Framework مكتبة الفئة التالية:
  • System.Xml
الموجز
توضح هذه المقالة كيفية استخدام فئة XmlTextReader لقراءة لغة التوصيف الموسعة (XML) من ملف. XmlTextReader يوفر تحليل وترميز XML ومواصفات XML 1.0 يطبق كذلك مساحات الأسماء في مواصفات XML من "اتحاد شبكة ويب العالمية" (W3C). توفر هذه المقالة الوصول إلى دفق سريع وترميزه إلى XML بدلاً من استخدام طراز كائن مثل طراز كائن المستند XML (DOM).

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:
  • Microsoft Visual Studio 2005 أو Microsoft Visual Studio. net
تفترض هذه المقالة أنك معتاد على المواضيع التالية:
  • مصطلحات XML
  • إنشاء وقراءه ملف XML

كيفية قراءة XML من ملف

يستخدم هذا المثال في ملف يسمى Books.xml. يمكنك إنشاء ملف Books.xml الخاصة بك أو استخدام نموذج الملف الذي تم تضمينه مع بدايات سريعة. NET مجموعة تطوير البرامج (SDK) في المجلد التالي:
برنامج \Program Files\Microsoft visual Studio.NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
يجب نسخ Books.xml إلى المجلد \Bin\Debug الموجودة ضمن المجلد الذي يتم إنشاء هذا المشروع. Books.xml أيضا متوفرة للتنزيل. انظر إلى "المراجع"قسم لموقع التحميل.
  1. بدء تشغيل Visual Studio. NET أو Visual Studio 2005.
  2. إنشاء Visual C# "تطبيق" وحدة تحكم جديد. انتقل مباشرة إلى "إتمام سرد التعليمات البرمجية"المقطع أو متابعة هذه الخطوات لبناء التطبيق.
  3. تأكد من أن المشروع يحتوي على مرجع إلى تجميع System.Xml.dll .
  4. تحديد استخدام التوجيه على مساحة الاسم System.Xml حيث غير مطلوبة لتأهيل xmltextreader لاحقاً في التعليمات البرمجية الخاصة بك . يجب عليك استخدام التوجيه استخدام قبل أية تعريفات الأخرى.
    using System.Xml;					
  5. إنشاء مثيل للكائن XmlTextReader ، وملئه بملف XML. بشكل عام، يتم استخدام الفئة XmlTextReader إذا كنت تحتاج إلى الوصول إلى XML مثل البيانات الخام دون عناء DOM؛ وبالتالي، توفر الفئة XmlTextReader إليه أسرع لقراءة XML. الفئة XmlTextReader تحتوي المنشئات المختلفة لتحديد موقع بيانات XML. التعليمات البرمجية التالية تقوم بإنشاء مثيل من فئة XmlTextReader ويقوم بتحميل الملف Books.xml. أضف التعليمات البرمجية التالية إلى الإجراء الرئيسي من الفئة 1.
    XmlTextReader reader = new XmlTextReader ("books.xml");					
  6. قراءة XML. (لاحظ أن هذه الخطوة يوضح الخارجية "أثناء" حلقة، والخطوتين التاليتين لشرح كيفية استخدام تلك الحلقة لقراءة XML.) بعد إنشاء الكائن XmlTextReader ، استخدم الأسلوب قراءة لقراءة بيانات XML. ما زال الأسلوب قراءة للانتقال إلى ملف XML التسلسل حتى تصل إلى نهاية الملف، في التي تشير إرجاع الأسلوب قراءة قيمة "false".
    while (reader.Read()) {    // Do some work here on the data.	Console.WriteLine(reader.Name);}Console.ReadLine();					
  7. فحص العقد. لمعالجة بيانات XML، يحتوي كل سجل نوع عقده التي يمكن تحديدها من خاصية نوع عقده . خصائص اسم و قيمة إرجاع اسم العقدة (أسماء العنصر أو السمة) وقيمة عقده (نص عقده) العقدة الحالية (أو سجل). يحدد نوع عقده التعداد نوع العقدة. يعرض نموذج التعليمات البرمجية التالي اسم العناصر ونوع المستند. لاحظ أن هذا النموذج يتجاهل سمات عنصر.
    while (reader.Read()) {    switch (reader.NodeType)     {        case XmlNodeType.Element: // The node is an element.            Console.Write("<" + reader.Name);   Console.WriteLine(">");            break;  case XmlNodeType.Text: //Display the text in each element.            Console.WriteLine (reader.Value);            break;  case XmlNodeType. EndElement: //Display the end of the element.            Console.Write("</" + reader.Name);   Console.WriteLine(">");            break;    }}					
  8. فحص السمات. يمكن أن تتضمن أنواع عقده عنصر قائمة العقد السمة المرتبطين بهم. أسلوب موفيتونيكستاتريبوتي يمر كل سمة في العنصر التسلسل. استخدام الخاصية هاساتريبوتيس لاختبار ما إذا كانت العقدة على أي سمات. إرجاع الخاصية أتريبوتيكونت العدد من السمات للعقدة الحالية.
    while (reader.Read()) {       switch (reader.NodeType)        {           case XmlNodeType.Element: // The node is an element.               Console.Write("<" + reader.Name);               while (reader.MoveToNextAttribute()) // Read the attributes.                   Console.Write(" " + reader.Name + "='" + reader.Value + "'");      Console.WriteLine(">");               break;     case XmlNodeType.Text: //Display the text in each element.               Console.WriteLine (reader.Value);               break;     case XmlNodeType. EndElement: //Display the end of the element.               Console.Write("</" + reader.Name);      Console.WriteLine(">");               break;       }   }					
  9. حفظ وإغلاق المشروع.

إتمام سرد التعليمات البرمجية

using System;using System.Xml;namespace ReadXMLfromFile{    /// <summary>    /// Summary description for Class1.    /// </summary>    class Class1    {        static void Main(string[] args)        {            XmlTextReader reader = new XmlTextReader ("books.xml");            while (reader.Read())             {                switch (reader.NodeType)                 {                    case XmlNodeType.Element: // The node is an element.                        Console.Write("<" + reader.Name);                        Console.WriteLine(">");                        break;                    case XmlNodeType.Text: //Display the text in each element.                        Console.WriteLine (reader.Value);                        break;                    case XmlNodeType.EndElement: //Display the end of the element.                        Console.Write("</" + reader.Name);                        Console.WriteLine(">");                        break;                }            }            Console.ReadLine();        }    }}				

عينة الإخراج

<bookstore><book><title>The Autobiography of Benjamin Franklin</title><author><first-name>Benjamin</first-name><last-name>Franklin</last-name></author><price>8.99</price></book><book><title>The Confidence Man</title><author><first-name>Herman</first-name><last-name>Melville</last-name></author><price>11.99</price></book><book><title>The Gorgias</title><author><name>Plato</name></author><price>9.99</price></book></bookstore>				

استكشاف الأخطاء وإصلاحها

عند اختبار التعليمات البرمجية، قد تتلقى رسالة الخطأ التالية استثناء: "استثناء غير معالج": System.Xml.XmlException: تعريف XML غير متوقع. يجب أن يكون تعريف XML العقدة الأولى في المستند، وأية أحرف المسافة البيضاء مسموح بالمثول أمامها.

معلومات إضافية: خطأ في النظام. حدوث خطأ استثناء على السطر التالي من التعليمات البرمجية: في حين
(reader.Read())
يحدث خطأ استثناء بسبب تعليمات معالجة غير صالحة. على سبيل المثال، قد تحتوي على إرشادات معالجة المسافات الدخيلة. ما يلي مثال تعليمات المعالجة غير صالحة:
<?xml version='1.0' ?>
هذه العلامة xml يحتوي على مساحة السابق '<’ bracket.="" remove="" the="" preceding="" whitespace="" to="" resolve="" the=""></’>

مراجع

يتوفر الملف التالي للتنزيل من مركز التنزيل ل Microsoft:
لمزيد من المعلومات حول فئات NET Framework XML و C#، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:لمزيد من المعلومات حول فئة XmlReader ، قم بزيارة موقع Msdn التالي:لمزيد من المعلومات حول كيفية استخدام XmlReader قراءة بيانات XML، قم بزيارة مواقع ويب MSDN التالي:

تحذير: تمت ترجمة هذه المقالة تلقائيًا

Egenskaber

Artikel-id: 307548 – Seneste udgave 01/02/2016 03:14:00 – Udgave 2.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition

  • kbdownload kbhowtomaster kbmt KB307548 KbMtar
Feedback