c# - 在c#中如何使用html敏捷包获取唯一列表所有标签
问题描述
如何从 html 字符串中获取所有标签的唯一列表。但我只能一一提取标签。
代码
public static void HtmlParser()
{
string html = @"<TD >
<DIV align=right>Name :<B> </B></DIV></TD>
<TD width=""50%"">
<INPUT class=box value=John maxLength=16 size=16 name=user_name>
</TD>
<TR vAlign=center> <code> This is a <kwd>vba</kwd> code piece</code> Hi I am sujoy";
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
string code = htmlDoc.DocumentNode.
.SelectSingleNode("//code").InnerHtml;
string TD = htmlDoc.DocumentNode
.SelectSingleNode("//TD").InnerText;
}
对于上面的代码,我希望输出list
为{"DIV","TD","TR","CODE"}
解决方案
使用htmlDoc.DocumentNode.Descendants()
和 用于唯一列表使用HashSet
:
public static void HtmlParser()
{
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml("Your html string containing tags like <div></div>...");
HashSet<string> hs = new HashSet<string>();
foreach(var dec in htmlDoc.DocumentNode.Descendants())
{
hs.Add (dec.Name);
}
}
推荐阅读
- javascript - 测试更新 DOM 的 javascript
- r - 如何使用 R 将数据从数据帧附加到 geojson?
- git - 撤消 `git rebase -i` 上的修复
- linux - 自动挂起进程
- c# - c#将路径列表转换为xml的有效方法
- spring-webflux - 如何在项目反应器中使用 StepVerifier 验证引发的异常
- string - 根据 random.random 和频率表制作随机字符串
- javascript - Javascript 日期格式自定义
- python - 类继承和实例化 - 对 __init__() 和 __new__() 方法的内部调用之间的混淆
- reactjs - 如何有条件地渲染使用钩子的 React 组件