سؤال

على افتراض أن الجداول المتداخلة ليس لديها سمات فريدة (معرف أو فئة أو أي شيء آخر) للحصول على واحدة مطلوبة عبر

doc.DocumentNode.SelectSingleNode("//table[@width='500']")

هل يحظر XPath استخدام الجدول عدة مرات في طريقه؟

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/center/table"))

رمي الاستثناء كما selectnodes إرجاع فارغة.

إذا كان الأمر كذلك ، كيف تتعامل مع تحليل HTML مع الجداول المتداخلة دون سمات محددة مع حزمة Agility؟

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

المحلول

لقد فاتني علامة "TD" في طريقي. لذا

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))

تعمل. هذا في الواقع يجيب على سؤالي. حل بديل آخر للحصول على نفس الجدول على افتراض أن هناك قيم سمة فريدة في عناصر الوالدين يمكن أن تكون

HtmlNode tbl = doc.DocumentNode.SelectSingleNode("//td[@height='643']/center/table");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top