如何从<p> HTML标签提取内容

时间:2019-05-08 22:56:28

标签: c# html regex parsing text

我输入以下HTML:

<p>Hello</p>
<p>How are you?</p>
<div>Hello again</div>

如何仅从中输出“ Hello”? (仅来自第一个p标签的内容)。而且我怎么也只能访问第二个p-tag内容?

因此输出应为:

string p1 = "Hello"
string p2 = "How are you?"

到目前为止,我的代码。完全错误!救命!

using System.Text.RegularExpressions;
string p1 = Regex.Match("<p>(.*?)</p>"[0], myString);
string p2 = Regex.Match("<p>(.*?)</p>"[1], myString);

2 个答案:

答案 0 :(得分:0)

您可以为每个元素添加一个id =“ yourID”,然后进行如下选择:

Javascript:

let p1 = document.getElementById("element1").value 

HTML:

<p id="element1"> </p>

答案 1 :(得分:0)

我认为您可能正在寻找这样的东西:

Regex r = new Regex("<p>(.*?)<\\/p>");
string p1 = r.Matches(myString)[0].Groups[1].Value;
string p2 = r.Matches(myString)[1].Groups[1].Value;

输出看起来像这样:

Hello
How are you?

请记住,虽然这不是最可靠的方法,但反复进行结果可能有助于记住前进的方向:

foreach (Match m in r.Matches(myString))
{
    Console.WriteLine(m.Groups[1].Value);
}