2012-12-26 78 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

相關問題