ITreeWalker

ITreeWalker interface

يتم استخدام كائنات TreeWalker للتنقل في شجرة مستند أو شجرة فرعية باستخدام طريقة عرض المستند المحددة بواسطة علامات ومرشحات whatToShow الخاصة بهم (إن وجدت). أي وظيفة تؤدي إلى التنقل باستخدام TreeWalker ستدعم تلقائيًا أي طريقة عرض محددة بواسطة TreeWalker.

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

انظر أيضانموذج كائن المستند (DOM) المستوى 2 الاجتياز وتحديد النطاق. @ منذ DOM المستوى 2

public interface ITreeWalker : ITraversal

الخصائص

اسموصف
CurrentNode { get; set; }العقدة التي يتم وضع TreeWalker عليها حاليًا. قد تتسبب التغييرات في شجرة DOM في عدم قبول العقدة الحالية بواسطة مرشح TreeWalker المرتبط. ضمن الشجرة الفرعية المحددة بواسطة عقدة الجذر أو سيتم قبولها بواسطة المرشح وعلامة whatToShow. يحدث الاجتياز الإضافي بالنسبة إلى currentNode حتى إذا لم يكن جزءًا من العرض الحالي ، عن طريق تطبيق المرشحات في الاتجاه المطلوب ؛ إذا لم يكن هناك احتمال traversal ، فلن يتم تغيير العقدة الحالية.

طُرق

اسموصف
FirstChild()نقل TreeWalker إلى أول تابع مرئي للعقدة الحالية_ ، وإرجاع العقدة الجديدة. إذا كانت العقدة الحالية تحتوي على no توابع مرئية ، فتُرجع قيمة خالية ، وتحتفظ بالعقدة الحالية.
LastChild()نقل TreeWalker إلى آخر تابع مرئي للعقدة الحالية ، وإرجاع العقدة الجديدة. إذا كانت العقدة الحالية تحتوي على no توابع مرئية ، فتُرجع قيمة خالية ، وتحتفظ بالعقدة الحالية.
NextNode()ينقل TreeWalker إلى العقدة المرئية التالية بترتيب document المتعلق بالعقدة الحالية ، ويعيد العقدة الجديدة. إذا لم يكن للعقدة الحالية عقدة تالية ، أو إذا كان البحث عن nextNode try للانتقال لأعلى من عقدة root لـ TreeWalker ، فتُرجع قيمة فارغة ، وتحتفظ بالعقدة الحالية.
NextSibling()ينقل TreeWalker إلى الشقيق التالي للعقدة الحالية ، ويعيد العقدة الجديدة. إذا كانت العقدة الحالية لا تحتوي على الشقيق التالي visual ، فستُرجع قيمة خالية ، وتحتفظ بالعقدة الحالية.
ParentNode()للانتقال إلى أقرب عقدة سلف مرئية من العقدة الحالية وإرجاعها. إذا كان البحث عن parentNode يحاول الانتقال إلى step لأعلى من العقدة الجذرية لـ TreeWalker ، أو إذا فشل في العثور على عقدة سلف مرئية ، فإن هذه الطريقة تحتفظ بالموضع الحالي وإرجاع القيمة فارغة.
PreviousNode()ينقل TreeWalker إلى العقدة المرئية السابقة in ترتيب المستند المتعلق بالعقدة الحالية ، ويعيد العقدة new . إذا كانت العقدة الحالية لا تحتوي على عقدة سابقة ، أو إذا كان البحث عن العقدة السابقة تحاول التحرك لأعلى من عقدة جذر TreeWalker ، فتعيد فارغة ، وتحتفظ بالعقدة الحالية.
PreviousSibling()ينقل TreeWalker إلى الشقيق السابق للعقدة الحالية_ ، ويعيد العقدة الجديدة. إذا كانت العقدة الحالية تحتوي على no شقيق سابق مرئي ، فستُرجع قيمة خالية ، وتحتفظ بالعقدة الحالية .

أنظر أيضا