C# 从XML中删除标记

C# 从XML中删除标记,c#,xml,C#,Xml,我使用一个库来处理文本,并将输出作为XML返回。接下来,我想加载xml并从中提取一些节点。问题是库创建了一些打开的标记而没有关闭的标记。大概是这样的: <wi num="610" entity="PERSON">OAZ</wi><somestringhere> <wi num="611" entity="PERSON">Stedman</wi> OAZ-Stedman 错误:第1行位置xxx上的“somestringhere”标记与

我使用一个库来处理文本,并将输出作为XML返回。接下来,我想加载xml并从中提取一些节点。问题是库创建了一些打开的标记而没有关闭的标记。大概是这样的:

<wi num="610" entity="PERSON">OAZ</wi><somestringhere> <wi num="611" entity="PERSON">Stedman</wi>
OAZ-Stedman
错误:第1行位置xxx上的“somestringhere”标记与的结束标记不匹配


如果它创建的标签是常量,我就可以删除它。但这些条件一直在变化。手工操作是不可行的。如何从xml中删除此类标记?

为什么将此类文本称为“xml”?-这实际上只是带有一些类似XML的标记的文本。如果你不能修复库并且不能自己生成XML——考虑使用像HtmlAgilityPack这样的HTML解析器将文本读入DOM树并从中生成XML…(“逃跑”是本例中的真正答案,但我怀疑它是否可以接受:))因为库生成的XML无效,我认为您不能使用C#操作它,因为您首先无法对它进行反序列化。我认为最好的办法是使用正则表达式查找未关闭的标记并手动删除它们。看起来是查找未关闭标记的一个很好的资源。如果可以,请使用其他库。如果这确实是库的输出,并且没有更好的结果,则需要构建自己的解析函数。