2012-12-26 77 views
0

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

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

+0

你的确切问题是什么? –

+2

与论坛网站不同,我们不使用“谢谢”,或“任何帮助表示赞赏”,或在[so]上签名。请参阅“[应该'嗨','谢谢',标语和致敬从帖子中删除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be 。-removed - 从 - 个) –

+0

下面是一个例子: 我有一个节点在这样的文件'“这个< that”' 因为节点包含这会产生错误'<' –

回答

1

XML文件应该是有效的XML文件,或者你发现在.NET框架中的错误(这是不太可能happend因为这个类/方法是如此受欢迎)

所以,请检查如果有任何机会生成的XML文件被别的东西修改了。如果是这样,您可能需要修改修改器,而不是手动更正XML文件。

0

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

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

相关问题