C#保留<p>.innertext换行
时间: 2023-08-12 07:07:02 浏览: 170
在 C# 中,如果需要获取 HTML 标记(如 <p>、<div>、<span> 等)中的文本内容并保留换行,可以使用 HtmlAgilityPack 库。该库提供了一个 HTML 解析器,可以方便地将 HTML 文档加载到内存中,并对其进行操作。
首先需要安装 HtmlAgilityPack 库,可以使用 NuGet 包管理器进行安装。安装完成后,在代码中引入命名空间:
```csharp
using HtmlAgilityPack;
```
假设有如下的 HTML 代码:
```html
<p id="myParagraph">这是第一行<br>这是第二行</p>
```
可以使用以下代码来获取其中的文本内容,并保留换行符:
```csharp
// 加载 HTML 文档
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlText);
// 获取 <p> 元素
HtmlNode myParagraph = doc.GetElementbyId("myParagraph");
// 获取 <p> 元素的文本内容,并保留换行符
string textContent = myParagraph.InnerText.Replace("\n", Environment.NewLine);
```
其中,`htmlText` 是包含 HTML 代码的字符串。`GetElementbyId` 方法可以获取指定 ID 的元素节点。`InnerText` 属性可以获取元素节点的文本内容,而 `Environment.NewLine` 表示换行符,可以保留文本中原有的换行符。
经过上述处理,`textContent` 变量的值为:
```
这是第一行
这是第二行
```
即为保留换行的文本内容。
阅读全文