HTML متداخل الجداول حزمة Agility سارية
-
21-09-2019 - |
سؤال
على افتراض أن الجداول المتداخلة ليس لديها سمات فريدة (معرف أو فئة أو أي شيء آخر) للحصول على واحدة مطلوبة عبر
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");
لا تنتمي إلى StackOverflow