Фильтрация списка HtmlElements на основе списка частичных идентификаторов

У меня есть HtmlElementCollection, и я хочу использовать Linq, чтобы получить список HtmlElements, идентификаторы которых содержат идентификатор из другого списка.

Итак, я попробовал пару вещей, ни одна из которых не сработала. Я получаю список из коллекции и пытаюсь отфильтровать его.

Это список частичных идентификаторов. Идентификаторы элементов различны, и у них есть идентификаторы, которые соответствуют этому списку плюс некоторые случайные числа в начале.

string[] ids = {"btadminh_struct.description",
"thtmlb_textView_6",
"thtmlb_textView_7",
"btadminh_struct.object_id",
"thtmlb_textView_12",
"zbtsalesset_struct.po_number_sold",
"thtmlb_textView_17",
"thtmlb_textView_21",
"thtmlb_textView_24",
"btcustomerh_z_followupdate",
"thtmlb_textView_29",
"btrefobjmain_ibibase",
"btrefobjmain_ibinstancedesc",
"btpartnerserviceto_struct.description_name",
"btpartnerset_contact_name",
"zzericempresp_struct.partner_no",
"zbtcsrowner_struct.partner_no",
"btcustomerh_struct.zcomments",
"thtmlb_textView_19",
"btadminh_servicecontractdescr",
"btcustomerh_zcontracttype_descr",
"btrefobjmain_network_id",
"btrefobjmain_node_id",
"btrefobjmain_site_id"};

Идентификатор элемента выглядит следующим образом:

"C29_W87_V88_btrefobjmain_network_instance",
"C29_W87_V88_btrefobjmain_network_id__items",
"C29_W87_V88_btrefobjmain_network_id",
"C29_W87_V88_btrefobjmain_network_id-btn",
"C29_W87_V88_btrefobjmain_network_id__key",
"C29_W87_V88_thtmlb_label_2",
"C29_W87_V88_btrefobjmain_service_id__items",
"C29_W87_V88_btrefobjmain_service_id",
"C29_W87_V88_btrefobjmain_service_id-btn",
"C29_W87_V88_btrefobjmain_service_id__key",
"C29_W87_V88_thtmlb_label_3",
"C29_W87_V88_btrefobjmain_networkadap_id__items",
"C29_W87_V88_btrefobjmain_networkadap_id",
"C29_W87_V88_btrefobjmain_networkadap_id-btn",
"C29_W87_V88_btrefobjmain_networkadap_id__key",

Поэтому я поместил свою коллекцию в список, который я могу запросить.

var elems = doc.All.Cast<HtmlElement>();

Я пробовал разные подходы, ни один из которых не работает. Я также хотел бы использовать Linq и избежать уродливого 2-D цикла foreach.

Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос