2014-06-05 72 views
0

我想從一個文本文件中填充div的特定div。 我正在使用streamreader進入該文件,但我不知道如何獲得完整的div。 得到div後,我會把每一行變成一個字符串,它將被添加到列表中。 文本文件如下:從Div C#中獲取文本StreamReader

<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

我已經使用CsQuery來完成此操作。請參閱http://stackoverflow.com/questions/22092208/parsing-html-with-csquery –

回答

1

首先,你需要安裝HtmlAgilityPack解析HTML:然後通過選擇//div路徑

Install-Package HtmlAgilityPack 

,我們可以從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); 
    }