C# Xml非法字符过滤器

C# Xml非法字符过滤器,c#,xml,C#,Xml,我用的是c#。 我有以下xml文件: <MyXml> <Element>&lt;x&gt; y&lt;/p&gt<Element> <Element>&amp;quot;my qoute&amp;quot;<Element> </MyXml> x y/p> &;引用;我的qoute&;引用; 如何“过滤”所有非法字符?(,“等) 我需要编

我用的是c#。
我有以下xml文件:

<MyXml>
    <Element>&lt;x&gt; y&lt;/p&gt<Element>
    <Element>&amp;quot;my qoute&amp;quot;<Element>
</MyXml>

x y/p>
&;引用;我的qoute&;引用;
如何“过滤”所有非法字符?(,“等)
我需要编写自己的代码,如下所示:

myElement.InnerText.Replace("&lt","<");
myElement.InnerText.Replace(“<”,”为您转义。类似的问题在

中得到了回答。您应该做的是修复生成此XML的任何问题,因为它错误地将“转义”XML作为文本插入到
元素
元素中,而不是添加子节点

如果您不能做到这一点,那么一个可能的解决方法是识别那些应该包含XML的元素,解析内容并将结果元素添加为子元素:

var doc = XDocument.Parse(xml);

foreach (var element in doc.Descendants("Element"))
{
    var content = XElement.Parse("<root>" + element.Value + "</root>");
    element.ReplaceNodes(content.Nodes());
}
var doc=XDocument.Parse(xml);
foreach(文档子体中的变量元素(“元素”))
{
var content=XElement.Parse(“+element.Value+”);
element.ReplaceNodes(content.Nodes());
}

为什么您认为这些字符是非法字符而不是特殊字符的有效XML表示形式?您想做什么?这些字符是如何结束的?您是否对XML或HTML片段使用了HTML编码?此文件是如何生成的?如果不是这样,您应该修复生成文件的代码pectedI有另一个应用程序创建.xml文件。我想替换xml文件<到<等等。。“显然,否则您将无法编写
。如果允许
元素
根据其架构包含子元素,则生成的应用程序有一个错误,它不是真正的.xml文件。我只是以文本为例谢谢,但在回答时,它们会以“反向”方式执行,这需要”