我正在尝试从填充div的文本文件中获取特定的div。 我正在使用streamreader进入文件,但我不知道如何获得完整的div。 得到div之后我会把每一行变成一个字符串,这将被添加到一个列表中。 文本文件如下:
<div id="#SMINLANGUAGE1 ">
English
Hello.
This is a Test
Test 23
</div>
<div id="#SMINLANGUAGE2 ">
Dutch
Hallo.
Dit is een Test
Test 29
</div>
<div id="#SMINLANGUAGE3 ">
Spanish
Hola.
Esto es una Prueba.
Prueba 86
</div>
英语列表将是:
Index 0: English
Index 1: Hello.
Index 2: This is a Test
Index 3: Test23
答案 0 :(得分:1)
首先,您需要安装HtmlAgilityPack
来解析HTML:
Install-Package HtmlAgilityPack
然后选择//div
路径,我们可以从HTML内容中提取所有可用的DIV:
var doc = new HtmlDocument
{
OptionOutputAsXml = true,
OptionCheckSyntax = true,
OptionFixNestedTags = true,
OptionAutoCloseOnEnd = true,
OptionDefaultStreamEncoding = Encoding.UTF8
};
doc.LoadHtml(htmlContent);
var results = new List<string[]>();
foreach (var node in doc.DocumentNode.SelectNodes("//div"))
{
var divContent = node.InnerText;
if (string.IsNullOrWhiteSpace(divContent))
continue;
var lines = divContent.Trim().Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
results.Add(lines);
}