【问题标题】:Getting Text from Div C# StreamReader从 Div C# StreamReader 获取文本
【发布时间】:2014-06-05 22:07:58
【问题描述】:

我正在尝试从一个充满 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

【问题讨论】:

标签: c# html text-files streamreader


【解决方案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);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2012-03-02
    • 2011-05-20
    相关资源
    最近更新 更多