سؤال

وأنا باستخدام XmlDocument تحليل ومعالجة سلسلة XHTML، وتحويل بعض العقد إلى عقد غير HTML.

ما هي أفضل طريقة للحصول على قائمة من كافة العقد مع اسم فئة معينة؟ يمكن أن يتم ذلك مع كسباث؟

هل كانت مفيدة؟

المحلول

ومع فئة معينة؟ إذا كان مجرد فئة واحدة، ثم عليك أن تكون قادرة على القيام بشيء ما مثل .SelectNodes ( "// * [@ الطبقة = 'فو']"). إذا لم يكن XHTML، ثم HTML أجيليتي حزمة يستحق النظر.

وفي العميل، مسج سيكون خيارا جيدا - ويدعم أسماء فئة المركبة

إذا كان لديك أسماء فئة متعددة على العناصر الفردية، وتحتاج إلى التعامل معها في الملقم، أتوقع قد تحتاج إلى العثور على الطبقات مرشح أولا ( "// * [@ الدرجة! = ''])، ومن ثم حلقة عليهم القيام Split() والتحقق من وجود اسم الطبقة في النتائج؛. أي تسحبه بعيدا يدويا

في المصطلحات LINQ، شيء من هذا القبيل:

        var qry = from XmlElement el in d.SelectNodes("//*[@class!='']")
                  let classes = el.GetAttribute("class").Split(new[] {' '},
                          StringSplitOptions.RemoveEmptyEntries)
                  where classes.Contains("foo")
                  select el;

نصائح أخرى

نعم، فإنه من السهل مع كسباث:

//*[@class='foo']
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top