C# 解析文本的一部分,该部分类似于c中的html表#
我有一个自由文本,其中可能包含类似html的表定义,例如: 这是自由文本。。。。。 更多免费文本。。。 表开始 *行开始* 单元格1内容##单元格2内容 第3单元内容 行结束*表结束* 更多包含更多表定义的自由文本 我正在寻找从C#中的此类文本解析表的最佳方法。我已经读到正则表达式不适合这样的文本。有人能帮上忙吗C# 解析文本的一部分,该部分类似于c中的html表#,c#,parsing,text,C#,Parsing,Text,我有一个自由文本,其中可能包含类似html的表定义,例如: 这是自由文本。。。。。 更多免费文本。。。 表开始 *行开始* 单元格1内容##单元格2内容 第3单元内容 行结束*表结束* 更多包含更多表定义的自由文本 我正在寻找从C#中的此类文本解析表的最佳方法。我已经读到正则表达式不适合这样的文本。有人能帮上忙吗 提前感谢。一旦将表格提取到字符串中 请使用Server.HtmlEncode对包含html的文本进行编码您可以这样尝试: string input = @"free t
提前感谢。一旦将表格提取到字符串中
请使用Server.HtmlEncode对包含html的文本进行编码您可以这样尝试:
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();
}
string input=@“自由文本。。。
测试
更多自由文本”;
string inputWithRoot=string.Format(“{0}”,输入);
XElement el=XElement.Parse(inputWithRoot);
var表=el.子体(“表”);
foreach(表中的XElement表)
{
Console.WriteLine(table.ToString());
Console.WriteLine();
}
这可能有助于uThanks,但我的文本不是html。它是自由文本,可能包含具有html结构但具有不同标记的表定义。所以我不能使用HTMLAgilityPack。定义表的标记可以是:some value。开始标记和结束标记不一定相同。所以我认为它不会起作用,尽管解决方案很好。