【发布时间】:2017-06-10 23:08:35
【问题描述】:
假设我有一个类似的 XML 文档(基本上代表一个 HTML 报告):
<html>
<head>...</head>
<body>
<div>
<table>
<tr>
<td>Stuff</td>
</tr>
<tr>
<td>More stuff<br /><br />More stuff on another line and some whitespace... </td>
</tr>
<tr>
<td> Some leading whitespace before this stuff<br />Stuff</td>
</tr>
</table>
</div>
</body>
</html>
我想(使用 C#)将此文档转换为类似于以下内容的简单文本字符串:
Stuff
More stuff
More stuff on another line and some whitespace...
Some leading whitespace before this stuff
Stuff
它应该足够聪明,可以将表格行转换为新行,并在单元格中添加任何内联 br 标记的位置插入新行。它还应该保持表格单元格中的所有空格完好无损。我尝试使用 XmlDocument 类并在正文节点上使用 InnerText 方法,但它似乎没有创建我正在寻找的输出(换行符和空格不完整)。有没有一种简单的方法可以做到这一点?我知道这样做的一种方法是将 HTML 提取为一个字符串并在其上执行几个正则表达式来处理换行符和空格。谢谢!
【问题讨论】:
-
ML 是元语言(标记数据)。 XML 和 HTML 都是不同类型的元语言,因此您不能从 XML 转到 HTML。有时 XML 嵌入在 HTML 文档中,但在您的情况下,您只有没有 xml 的 html。