C# 仅从包含文本、二进制和XML数据的文本文件中读取XML?

C# 仅从包含文本、二进制和XML数据的文本文件中读取XML?,c#,xml,file,text,binary,C#,Xml,File,Text,Binary,我有一个文本文件(.txt),其中包含文本数据、二进制数据和XML数据。我在谷歌上搜索了几分钟,不知道如何只从这个文本文件中提取XML。SO的好用户能提供一些建议吗 我用的是C#4.0 因为我不能简单地将文本文件加载到XDocument中,所以我一直在处理regex,但这种方法让我无从下手。首先,文件不能同时是文本和二进制文件:如果它包含二进制数据,它就是二进制文件。但从您的描述来看,它似乎是一个文本文件,包含一些文本编码形式的二进制数据 若您知道根标记名是什么,那个么可以使用子字符串搜索来定位

我有一个文本文件(.txt),其中包含文本数据、二进制数据和XML数据。我在谷歌上搜索了几分钟,不知道如何只从这个文本文件中提取XML。SO的好用户能提供一些建议吗

我用的是C#4.0


因为我不能简单地将文本文件加载到XDocument中,所以我一直在处理regex,但这种方法让我无从下手。

首先,文件不能同时是文本和二进制文件:如果它包含二进制数据,它就是二进制文件。但从您的描述来看,它似乎是一个文本文件,包含一些文本编码形式的二进制数据


若您知道根标记名是什么,那个么可以使用子字符串搜索来定位xml文档的开始和结束,“剪切”它,然后您可以用任何方式处理它。

听起来像是一个可怕的文件。文件中各节之间是否有任何分隔符?它实际上是一个保存为文本的MIME。事实上,我有一些运气,使用正则表达式和单行模式。显然XML元素之间只有换行符,明白了。我在这里使用了这个regex:]*>(.*),并确保使用单行模式,因为XML元素之间有换行符。