我有一个使用XMLSerializer.serialize()
序列化的对象。我已成功将对象序列化为XML字符串,然后将其写入文件,并使用XmlDocument.load()
成功读取文件。
但是现在,对象属性中的值包含<
。 serialize函数成功序列化对象,但XMLDocument.load()
读取文件失败,因为发现<
格式错误。是否有任何函数可以替换包含<
或>
到<
或>
的对象中的任何属性值,而无需逐个替换它?或者有另一种方法可以做到这一点?
答案 0 :(得分:1)
由XmlSerializer
生成的XML文件应该是有效的XML文件,或者您在.NET框架中发现了一个错误(由于此类/方法如此受欢迎,因此不太可能发生)
因此,请检查生成的XML文件是否有可能被其他内容修改。如果是这样,您可能需要修复修饰符,而不是手动更正XML文件。
答案 1 :(得分:0)
是否可以使用Regex.Replace()替换特殊字符,然后再将其传递给序列化?
另一种方法是使用try-catch,然后在捕获错误时使用函数替换它。资料来源:here