HTML标签之间的文本

时间:2013-08-22 04:02:25

标签: c#

我已经看到很多与此类似的解决方案,但我还没有找到适用于我的解决方案。

我已将源代码作为字符串。我只需要从整个页面源中获取一个值。我之前使用像“123”这样的字符串,但是如果我使用了我的pageSource,它什么也没有返回。 (是的,返回源代码的代码没有任何问题。我把它打印到文本框就好了)

例如,我的源代码是<div id="test" value="thisisatest">,我想要回复这个。

此外,如果有人知道如何执行此操作,如果他们还可以提供一种方法将多个值打印到列表框中,那就太好了。

编辑:我发现我使用的不起作用。

public string GetSubstringByString(string a, string b, string c)
{
    return c.Substring((c.IndexOf(a) + a.Length), (c.IndexOf(b) - c.IndexOf(a) - a.Length));
}

使用(工作):

string result = GetSubstringByString("1", "3", "123");
MessageBox.Show(result);

我需要它如何工作:

string result = GetSubstringByString("1", "3", source);
MessageBox.Show(result);

1 个答案:

答案 0 :(得分:1)

问题在于'&lt;'也出现在第一个令牌之前。您需要修复代码以查找第一个令牌的第一个实例。试试这个:

public string GetSubstringByString(string before, string after, string txt)
{
    int bPos = txt.IndexOf(before);
    int aPos = txt.IndexOf(after,aPos);
    return txt.Substring((bPos + before.Length), (aPos - txt.IndexOf(before) - before.Length));
}