请您分享您对如何检索包含文本的特定行的想法。我在本地存储的动态html文件中使用.Contains
作为我的源搜索两个值。
第一个值很好,但第二个值并不容易。最接近的唯一/静态文本片段距离所需值为6行。
这就是我所拥有的:
string html = File.ReadAllText(@"C:\\Path\HtmlFile.html");
using (var stringReader = new StringReader(html))
{
string line;
do
{
line = stringReader.ReadLine();
if (line != null)
{
if (line.Contains("'MyFirstUniqueID' :'"))
{
int uniqueOneIdStart = line.IndexOf(("ID' :'"), StringComparison.Ordinal) + ("ID' :'").Length;
int uniqueOneIdEnd = line.IndexOf("'});", uniqueOneIdStart, StringComparison.Ordinal);
MyFirstUniqueIDList.Add(line.Substring(uniqueOneIdStart, uniqueOneIdEnd - uniqueOneIdStart));
}
if (line.Contains("'MySecondUniqueID' :'"))
{
// 6 lines below is the value needed.
for (int i = 0; i < 6; i++)
{
var j = stringReader.ReadLine();
// the 6th popup window shows my value.
MessageBox.Show(j);
}
}
}
//File.Delete(@"C:\\Path\HtmlFile.html");
} while (line != null);
}
这就是html文件的样子:
'MySecondUniqueID' :'
</td>
<td style="">
Some-dynamic-value
</td>
<td style="">
Finally-HERE-is-the-value-I-need
理想情况下,一旦我能够从第6行获得值,但是我会将它们添加到MySecondUniqueIDList.Add(...)
任何建议都将不胜感激。 - 谢谢Mark。