繁体   English   中英

从Div C#StreamReader获取文本

[英]Getting Text from Div C# StreamReader

我试图从充满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

首先,您需要安装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);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM