Xml非法字符过滤
本文关键字:过滤 字符 非法 Xml | 更新日期: 2023-09-27 17:53:40
我用的是c#。
我有以下xml文件:
<MyXml>
<Element><x> y</p><Element>
<Element>&quot;my qoute&quot;<Element>
</MyXml>
如何"过滤"所有非法字符?(& lt;>,"等. .)
我需要像下面这样写我自己的代码:
myElement.InnerText.Replace("<","<");
还是我有别的方法?
谢谢!
您应该做的是修复生成此XML的任何内容,因为它错误地将'转义' XML作为文本插入Element
元素而不是添加子节点。
如果不能这样做,那么一个可能的解决方法是识别那些应该包含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());
}
XmlElement。为您转义了InnerText。在将字符串转义到XML