我有一个自由文本,其中可能包含类似 html 的表格定义,例如:
这是自由文本.....更多自由文本... 表格开始 *行开始*
单元格 1 内容# #单元格 2 内容
单元格 3 内容
row end *table end* 可能包含更多表格定义的更多自由文本。
我正在寻找从 C# 中的此类文本中解析表格的最佳方法。我读过正则表达式不适用于此类文本。任何人都可以帮助解决这个问题吗?
提前致谢。
你可以这样尝试:
string input = @"free text ...
<table><tr><td>
<table><tr><td>test</td></tr></table>
</td></tr></table>
more free text";
string inputWithRoot = String.Format("<root>{0}</root>", input);
XElement el = XElement.Parse(inputWithRoot);
var tables = el.Descendants("table");
foreach (XElement table in tables)
{
Console.WriteLine(table.ToString());
Console.WriteLine();
}
将表格提取到字符串后
请使用 Server.HtmlEncode 对包含 html 的文本进行编码