أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية إجراء استعلام XML مع تعبير XPath باستخدام Visual C#

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

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

تشير هذه المقالة إلى مساحة الاسم Microsoft .NET Framework فئة مكتبة التالية:
  • System.Xml.XPath

في هذه المهمة

الموجز
توضح هذه المقالة كيفية إجراء استعلام كائن XPathDocument مع تعبير لغتي XML Path (XPath) باستخدام فئة XPathNavigator. يتم استخدام XPath برمجياً لتقييم التعبيرات وحدد العقد معينة في مستند.

back to the top

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة و حزم الخدمات التي تحتاجها:
  • Visual C#
تفترض هذه المقالة كنت معتاداً على المواضيع التالية:
  • المصطلحات XML
  • إنشاء ملف XML وقراءتها
  • بناء جملة XPath
back to the top

كيفية الاستعلام XML مع تعبير XPath

  1. إنشاء Visual C# "وحدة التحكم تطبيق" جديد في Visual Studio.

    ملاحظة: يستخدم هذا المثال على ملف باسم Books.xml. يمكنك إنشاء ملف Books.xml الخاصة بك أو استخدام نموذج المضمنة Quickstarts أدوات تطوير البرامج (SDK) .NET. إذا لم يكن Quickstarts تثبيت لا ترغب في تثبيتها ، راجع قسم "المراجع" للحصول Books.xml موقع التحميل. إذا كان لديك Quickstarts تثبيت يمكن العثور على الملف في المجلد التالي:
    Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB البرنامج
    يجب نسخ الملف إلى المجلد \Bin\Debug الموجودة ضمن المجلد الذي قمت بإنشائه هذا المشروع.
  2. تأكد أن مراجع المشروع مساحة الاسم System.Xml.
  3. استخدم العبارة باستخدام على مساحات الأسماء Xml و XPath بحيث غير مطلوبة تأهيل التعريفات في مساحة الأسماء لاحقاً في التعليمات البرمجية. يجب استخدام الجملة باستخدام قبل إلى أي التعريفات الأخرى كما يلي:
    using System.Xml;using System.Xml.XPath;					
  4. قم بتعريف المتغيرات المناسبة. قم بتعريف كائن XPathDocument للاحتفاظ مستند XML و كائن XpathNavigator تقييم تعبيرات XPath كائن XPathNodeIterator تكرار عبر العقد المحدد. قم بتعريف كائن String للاحتفاظ تعبيرات XPath. إضافة تعليمة برمجية تعريف في الدالة الرئيسي في Class1.
       XPathNavigator nav;   XPathDocument docNav;   XPathNodeIterator NodeIter;   String strExpression;					
  5. تحميل XPathDocument مع نموذج ملف Books.xml. يستخدم فئة XPathDocument تحويلات لغة أوراق الأنماط القابلة للتوسيع (XSLT) لتوفير ذاكرة التخزين مؤقت السريع و موجهة إلى الأداء ومعالجة مستندات XML. قد يتشابه إلى طراز كائن XML المستند (DOM) إلا بشدة تحسين معالجة XSLT و طراز البيانات XPath.
        // Open the XML.    docNav = new XPathDocument(@"c:\books.xml");					
  6. إنشاء XPathNavigator من المستند. يتم استخدام كائن XPathNavigator لاستعلامات XPath للقراءة فقط. قد ترجع الاستعلامات XPath قيمة الناتجة أو العقد.
         // Create a navigator to query with XPath.     nav = docNav.CreateNavigator();					
  7. إنشاء تعبير XPath لإيجاد تكلفة المتوسط كتاب. هذا تعبير XPath بإرجاع قيمة مفردة. للحصول على التفاصيل الكاملة على بناء جملة XPath راجع "XPath سياق" في قسم "المراجع".
         // Find the average cost of a book.     // This expression uses standard XPath syntax.     strExpression = "sum(/bookstore/book/price) div count(/bookstore/book/price)";					
  8. استخدم الأسلوب تقييم للكائن XPathNavigator لتقييم تعبير XPath. يرجع الأسلوب تقييم نتائج التعبير.
        // Use the Evaluate method to return the evaluated expression.    Console.WriteLine("The average cost of the books are {0}", nav.Evaluate(strExpression));
  9. إنشاء تعبير XPath للبحث عن كافة الكتب التي التكلفة أكثر من عشرة دولار. ترجع تعبير XPath هذا العقد العنوان فقط من مصدر XML.
        // Find the title of the books that are greater then $10.00.    strExpression = "/bookstore/book/title[../price>10.00]";					
  10. إنشاء XPathNodeIterator للعُقد المحددة مع أسلوب تحديدXPathNavigator. يمثل nodeset XPath XPathNodeIterator ويدعم العمليات على هذا nodeset وبالتالي.
        // Select the node and place the results in an iterator.    NodeIter = nav.Select(strExpression);
  11. استخدم XPathNodeIterator ، التي تم إرجاعها من أسلوب تحديدXPathNavigator للتنقل خلال العقد المحدد. في هذه الحالة، يمكنك استخدام أسلوب MoveNextXPathNodeIterator تكرار خلال كافة العقد المحدد.
      Console.WriteLine("List of expensive books:");  //Iterate through the results showing the element value.  while (NodeIter.MoveNext())  {      Console.WriteLine("Book Title: {0}", NodeIter.Current.Value);  };					
  12. استخدام أسلوب ReadLine لإضافة إيقاف مؤقت في نهاية عرض وحدة التحكم لعرض النتائج أعلاه أكثر الجاهزة.
        // Pause    Console.ReadLine();					
  13. لإنشاء المشروع وتشغيله. لاحظ أنه يتم عرض النتائج في إطار وحدة التحكم.
back to the top

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

عند اختبار التعليمات البرمجية قد تتلقى رسالة خطأ استثناء التالية:
حدث استثناء غير معالج من النوع 'System.Xml.XmlException' في System.xml.dll

معلومات إضافية: خطأ نظام.
يحدث خطأ استثناء على سطر التعليمات البرمجية التالي:
docNav = new XPathDocument("c:\\books.xml");				
خطأ استثناء ينتج عن إرشادات معالجة غير صالح. على سبيل المثال، قد يحتوي على إرشادات معالجة المسافات الدخيلة. التالي مثال إرشادات معالجة غير صالح:
<?xml version='1.0' ?>
لحل الاستثناء بواحد مما يلي:
  • تصحيح إرشادات معالجة غير صالح. التالي مثال إرشادات معالجة صالحة:
    <?xml version='1.0'?>
    - أو -
  • إزالة إرشادات معالجة XML من ملف Books.xml.
back to the top
مراجع
يتوفر الملف التالي للتنزيل من "مركز التنزيل لـ Microsoft":
لمزيد من المعلومات، قم بزيارة مواقع Microsoft التالية على الويب: لمزيد من المعلومات حول XPath قم بزيارة موقع "اتحاد شبكة ويب العالمية" (W3C) التالي على الويب:
لغتي XML Path (XPath)
الإصدار 1.0: توصية W3C يوم 16 نوفمبر
http://www.w3.org/TR/1999/REC-xpath-19991116
back to the top

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

خصائص

رقم الموضوع: 308333 - آخر مراجعة: 03/13/2008 20:02:27 - المراجعة: 7.2

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

  • kbmt kbdownload kbhowtomaster KB308333 KbMtar
تعليقات
/html>>DI=4050&did=1&t=">