2012-06-27 176 views
0

VB/C#IM試圖解析其中包含特殊字符的XML文件,XML特殊字符處理

replace & with &amp 
' with &apos 
< with &lt 
> with &gt 

的字符串替換並沒有因爲它的替換特殊字符「<」,「>」標籤。 我試圖捕捉在同一行中有多個特殊字符時不起作用的XML異常,它在一行中只有一個特殊字符時起作用。 MS內置方法SecurityElement.Escape不起作用,這必須在附加XML標記之前完成。

即時通訊使用此文件加載SQL表。

任何其他解決方案來處理XML多個特殊字符?

+0

您必須手動處理文本之間出現的所有特殊字符。 –

+2

你想要手動解析XML嗎?爲什麼不將XML文檔加載到XDocument或XmlDocument實例中? –

+0

您能否顯示您認爲包含特殊字符的xml示例? –

回答

0

爲什麼不使用XmlTextReader?它應該處理所有逃跑。

+0

我認爲XMLTextreader會給出一個錯誤,如果特殊字符沒有解析,但即時通訊使用它來加載一個SQL表。 –

+0

它不會,如果它是有效的XML。 –

0

如果我正確地理解了這個問題,那麼您並未嘗試處理XML文件,而是嘗試處理非XML文件,如果特殊字符正確轉義,則該文件將成爲XML文件。

所以問題是,這個非XML文件來自哪裏?因爲修復它的最好方法是修復創建它的過程。創建不好的XML然後修復它比首先創建好的XML要困難得多。

+0

邁克爾你是正確的文件是非XML文件將是一個XML如果特殊字符被刪除,我試圖找出最簡單和最快的方式來處理這些specail字符 –

1

use System.Security.SecurityElement.Escape 例如:string XmlFriendly = System.Security.SecurityElement.Escape(「the bad'string」);