使用.NET将对象序列化为XML String

时间:2012-12-26 05:45:49

标签: .net xml xml-serialization

我有一个使用XMLSerializer.serialize()序列化的对象。我已成功将对象序列化为XML字符串,然后将其写入文件,并使用XmlDocument.load()成功读取文件。

但是现在,对象属性中的值包含<。 serialize函数成功序列化对象,但XMLDocument.load()读取文件失败,因为发现<格式错误。是否有任何函数可以替换包含<>&lt;&gt;的对象中的任何属性值,而无需逐个替换它?或者有另一种方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

XmlSerializer生成的XML文件应该是有效的XML文件,或者您在.NET框架中发现了一个错误(由于此类/方法如此受欢迎,因此不太可能发生)

因此,请检查生成的XML文件是否有可能被其他内容修改。如果是这样,您可能需要修复修饰符,而不是手动更正XML文件。

答案 1 :(得分:0)

是否可以使用Regex.Replace()替换特殊字符,然后再将其传递给序列化?

另一种方法是使用try-catch,然后在捕获错误时使用函数替换它。资料来源:here