如何在AngleSharp中使用类LIKE语法查找自定义HTML标签?
在AngleSharp中匹配以特定前缀开头的自定义HTML标签
你之前的写法无效是因为错误地用了tag属性——自定义标签的名称是元素本身的节点名,不是一个名为tag的属性。下面提供两种可行的解决方式:
方法一:使用CSS选择器的local-name前缀匹配
AngleSharp支持标准CSS选择器,你可以通过local-name伪属性来匹配元素的标签名,结合^=实现前缀匹配(类似SQL的LIKE 'rp-%'):
// 匹配所有标签名以"rp-"开头的元素 var customTags = doc.QuerySelectorAll("*[local-name^='rp-']");
方法二:用LINQ过滤元素集合
如果更习惯用代码逻辑过滤,AngleSharp的元素集合支持LINQ操作,直接检查元素的LocalName属性即可:
using System.Linq; // 筛选标签名以"rp-"开头的所有元素 var customTags = doc.All.Where(e => e.LocalName.StartsWith("rp-")).ToList();
两种方式都能正确匹配<rp-input>、<rp-form>这类自定义标签,根据你的场景选择即可。
内容的提问来源于stack exchange,提问作者WillC
相关产品推荐
相关产品推荐

