كيفية التنقل XML بواسطة الفئة XPathNavigator باستخدام Visual Basic

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

اضغط هنا لرابط المقالة باللغة الانجليزية301111
لإصدار Microsoft Visual C# من هذا المقال، راجع 308343.
الحصول على إصدار Microsoft Visual Basic 6.0 هذا المادة، راجع 271619.
الموجز
توضح هذه المقالة خطوة بخطوة حول كيفية التنقل المستندات لغة التوصيف (XML) الموسعة مع كائن XPathNavigator الذي تم إنشاؤه من كائن XPathDocument . هذه العينة بتحميل كائن XPathDocument مع بيانات XML ويقوم بإنشاء كائن XPathNavigator كطريقة عرض على البيانات ويعرض XML بالمشي في المستند.

متطلبات

علامة توضح القائمة التالية الأجهزة الموصى بها والبرامج والشبكة البنية الأساسية، وحزم الخدمات التي تحتاجها:
  • Microsoft Windows Server 2003 أو نظام التشغيل Microsoft Windows 2000 المهنية، Windows 2000 Server و Windows 2000 متقدم Server أو Microsoft نظام التشغيل Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 أو Microsoft Visual Studio .NET
وهذا تفترض المقالة كنت معتاداً على المواضيع التالية:
  • مصطلحات XML
  • إنشاء وقراءة ملفات XML
  • بناء جملة لغة مسار XML (XPath)

كيفية استخدام فئة XPathNavigator للتنقل XML

  1. في Visual Studio 2005 أو في Visual Studio. NET، إنشاء 2005 Visual Basic أو تطبيق وحدة التحكم.net Visual Basic.

    ملاحظة يستخدم هذا المثال ملف يسمى Books.xml. يمكنك إنشاء ملف Books.xml الخاصة بك، أو يمكنك استخدام نموذج المتضمنة بدايات.net برامج تطوير مجموعة (SDK) سريعة. إذا كان لديك في بدايات سريعة تثبيت، يوجد Books.xml في المجلد التالي:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    بدلاً من ذلك، يمكنك الحصول على هذا الملف عن طريق زيارة موقع ويب التالي:
    يجب نسخ Books.xml إلى المجلد\Bin\Debug الموجود ضمن المجلد الذي قمت بإنشائه هذا المشروع.
  2. تأكد من أن المشروع مراجع مساحة الاسم System.Xml .
  3. استخدام عبارة الاستيراد على مساحات Xml و XPath حيث غير مطلوبة لتأهيل التعريفات في مساحات لاحقاً في التعليمات البرمجية الخاصة بك. يجب استخدام عبارة الاستيراد السابقة ﻷية تعريفات الأخرى.
    Imports System.XmlImports System.Xml.XPath					
  4. قم بتعريف المتغيرات المناسبة. التصريح بكائن XPathDocument للاحتفاظ بمستند XML وكائن XPathNavigator لتقييم تعبيرات XPath والتنقل المستند. قم بتعريف كائن String للاحتفاظ بتعبير XPath. إضافة التعليمات البرمجية لتعريف في الإجراء الرئيسي في الوحدة النمطية 1.
    Dim nav As XPathNavigatorDim docNav As XPathDocument					
  5. تحميل كائن XPathDocument مع نموذج الملف Books.xml. يستخدم الفئة XPathDocument تحويلات لغة أوراق الأنماط القابلة للتوسيع (XSLT) لتوفير ذاكرة التخزين مؤقت السريع والأداء لمعالجة مستندات XML. مشابه لطراز كائن المستند XML (DOM) لكن أمثل عالية لمعالجة XSLT وطراز البيانات XPath.
    'Open the XML.docNav = New XPathDocument("books.xml")					
  6. إنشاء كائن XPathNavigator من المستند. يتيح إمكانية التنقل عبر العقد السمات XPathNavigator و عقد مساحة الاسم في مستند XML.
    'Create a navigator to query with XPath.nav = docNav.CreateNavigator					
  7. الانتقال إلى جذر المستند باستخدام أسلوب موفيتوروت . موفيتوروت تعيين المتصفح لعقدة المستند الذي يحتوي على كامل شجرة العقد.
    'Initial XPathNavigator to start at the root.nav.MoveToRoot()					
  8. استخدم الأسلوب موفيتوفيرستشيلد للانتقال إلى الأطفال لمستند XML. ينقل الأسلوب موفيتوفيرستشيلد للطفل الأول للعقدة الحالية. في الحالة مصدر Books.xml وأنت تتحرك بعيداً عن المستند الجذر إلى الأطفال والمقطع التعليق وعقده بيع الكتب.
    'Move to the first child node (comment field).nav.MoveToFirstChild()					
  9. استخدم الأسلوب موفيتونيكست للتكرار خلال العقد على مستوى المشابهة. ينقل الأسلوب MoveToNext إلى التابع التالي للعقدة الحالية.
    'Loop through all the root nodes.Do    ...Loop While nav.MoveToNext					
  10. استخدم الخاصية NodeType للتأكد من أن يتم فقط معالجة عنصر العقد، وتستخدم قيمة الخاصية لعرض تمثيل نص العنصر.
    Do    'Find the first element.    If nav.NodeType = XPathNodeType.Element Then'If children exist.If nav.HasChildren Then    'Move to the first child.    nav.MoveToFirstChild()    'Loop through all the children.    Do'Display the data.Console.Write("The XML string for this child ")Console.WriteLine("is '{0}'", nav.Value)Loop While nav.MoveToNextEnd If    End IfLoop While nav.MoveToNext					
  11. استخدام الخاصية HasAttributes لتحديد ما إذا كان عقده أية سمات. يمكنك أيضا استخدام أساليب أخرى مثل موفيتونيكستاتريبوتي، للانتقال إلى سمة وتفقد قيمتها. لاحظ أن هذا مقطع التعليمات البرمجية فقط نظر التوابع العقدة الجذر وليس الشجرة بأكملها.
    Do    'Find the first element.    If nav.NodeType = XPathNodeType.Element Then'if children existIf nav.HasChildren Then    'Move to the first child.    nav.MoveToFirstChild()    'Loop through all the children.    Do'Display the data.Console.Write("The XML string for this child ")Console.WriteLine("is '{0}'", nav.Value)'Check for attributes.If nav.HasAttributes Then    		Console.WriteLine("This node has attributes")End IfLoop While nav.MoveToNextEnd If    End IfLoop While nav.MoveToNext					
  12. استخدم الأسلوب ReadLine للكائن وحدة التحكم لإضافة إيقاف مؤقت في نهاية عرض وحدة التحكم إلى المزيد سهولة عرض النتائج المذكورة أعلاه.
    'Pause.Console.ReadLine()					
  13. إنشاء وتشغيل المشروع "تطبيق وحدة التحكم".

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

Imports System.XmlImports System.Xml.XPathModule Module1    Sub Main()        Dim nav As XPathNavigator        Dim docNav As XPathDocument        docNav = New XPathDocument("books.xml")        nav = docNav.CreateNavigator        nav.MoveToRoot()        'Move to the first child node (comment field).        nav.MoveToFirstChild()        Do            'Find the first element.            If nav.NodeType = XPathNodeType.Element Then                'if children exist                If nav.HasChildren Then                    'Move to the first child.                    nav.MoveToFirstChild()                    'Loop through all the children.                    Do                        'Display the data.                        Console.Write("The XML string for this child ")                        Console.WriteLine("is '{0}'", nav.Value)                        'Check for attributes.                        If nav.HasAttributes Then                            Console.WriteLine("This node has attributes")                        End If                    Loop While nav.MoveToNext                End If            End If        Loop While nav.MoveToNext        'Pause.        Console.ReadLine()    End SubEnd Module				
مراجع
من أجل مزيد من المعلومات، قم بزيارة ويب شبكة مطوري Microsoft (MSDN) التالية المواقع:
XML في.net: فئات.net Framework XML و C# تقدم معالجة البيانات بسيطة وقابلة للتحجيم
http://msdn.microsoft.com/msdnmag/issues/01/01/xml

XPathNavigator فئة
http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator.aspx

XPathDocument فئة
http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathdocument.aspx

تحويلات XSLT بالفئة XslTransform
http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltransform.aspx

أمثلة XPath
http://msdn.microsoft.com/en-us/library/ms256086.aspx
من أجل مزيد من المعلومات، قم بزيارة موقع ويب "اتحاد شبكة ويب العالمية" (W3C) التالية:
لغتي XML Path (XPath)
الإصدار 1.0: توصية W3C 16 نوفمبر 1999
http://www.w3.org/TR/1999/REC-xpath-19991116
استعراض dotnet

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

Vlastnosti

ID článku: 301111 - Poslední kontrola: 07/05/2012 16:23:00 - Revize: 1.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtar
Váš názor