我需要读取不符合xml规则的xml文件。所以我需要把它作为一个XML文件阅读之前。它在元素之间存在诸如“&”和“<”之类的符号。C#从xml中删除无效字符
<MAT>
<MATERIAL><MATNR>2286303</MATNR><BESTELTXT>Parts for something & something else</BESTELTXT><WERKS>Material exist out of<1 something</WERKS>
</MAT>
现在我有这样的:
我读取文件中的话,我这
text = Regex.Replace(text, @"\s&\s", " & ");
text = Regex.Replace(text, @"[<]\d+", "<");
它后,我写文件中的文本,这我读为XML。
“<”的问题是,它将删除号码,我需要保留。另外我不知道这是否有很好的表现?这也将工作与verry大文件?它也只适用于这种情况,但如果我们在未来有更多案例呢?没有将这些预定义实体更改为其xml格式的一般方法吗?
ps:我知道这应该在xml文件被处理时处理,但它来自一个thirth派对,他们不能改变它。
他们不能改变呢?然后改变那个供应商 –
他们没有提供给你一个有效的XML文件,你不能指望它是一个整体。 – Jamiec
@Thomas是的,这很有趣,但通常情况下,开发人员不是这样做的。 – CodeCaster