不,XML 解析器应该拒绝不是有效 XML 的输入。
您可以尝试通过Tidy预处理无效文件,但最好确保输入有效。
这是一个示例用法。Tidy 会修复您的评论并进行一些转义,但额外的开头 < 往往会破坏事情 - 在这种情况下猜测实在是太难了。
Tidy tidy = new Tidy();
tidy.Options.FixComments = true;
tidy.Options.XmlTags = true;
tidy.Options.XmlOut = true;
string invalid = "<root>< <!--comment--->></root>";
MemoryStream input = new MemoryStream(Encoding.UTF8.GetBytes(invalid));
MemoryStream output = new MemoryStream();
tidy.Parse(input, output, new TidyMessageCollection());
// TODO check the messages
string repaired = Encoding.UTF8.GetString(output.ToArray());