我有html代码:
<p>Answer1</p>
<h2>Category1</h2>
<p>Answer2</p>
<p>Answer3</p>
我需要进行分析,以便每个答案(p)都属于上述类别(h2)。 如果上面没有任何内容,则类别将为空。
看起来像这样:
obj1.category = null; obj1.answer = "Answer1";
obj2.category ="Category1"; obj2.answer = "Answer2";
obj3.category ="Category1"; obj3.answer = "Answer3";
我试图解决这个问题,但这没用。
答案 0 :(得分:2)
使用HTMLAgilityPack。它将解析HTML,并允许您使用LINQ来SELECT
来使用DOM结构中需要的任何内容。
答案 1 :(得分:1)
除了HTMLAgilityPack,我还为C#编写了轻量级的HTML解析器。
该技术没有什么大秘密,但这是一种详尽的工作。您只需要逐个字符地浏览文本并提取HTML元素即可。
我的解析器在Github上的名称为HtmlMonkey。
更新:
我刚刚添加了对相当高级的选择器的支持,可以轻松地在已解析的文档中查找节点。