2010-11-08 23 views
4

我想知道是否有一種方法可以使用XmlSerializer反序列化具有不同大小寫的對象。XmlSerializer - >不區分大小寫

比方說我的目標是

Class A 
{ 
    public String Str{get;set;} 
} 

我有以下XML文件中,ID喜歡反序列化:

<root><StR>Hello</StR></root> 

<root><STR>Hello</STR></root> 

<root><str>Hello</str></root> 

任何建議/想法?另外技術途徑操縱DOM等都是歡迎的。

問候

回答

1
xml_str=xml_str.Replace("StR>","Str>"); 

或者乾脆瓶坯XSLT轉換你desirlize之前

+0

此外,如果這不能解決任何問題,我使用XSLT,我嵌入到裝配。 – Jaster 2010-11-29 16:32:04

1

XML是大小寫敏感的,所以在這種情況下,我會說,它會失敗。所以你應該使用正則表達式來清理數據,因爲DOM會對XML有問題。

0

由於Xml區分大小寫,因此無法自動實現此行爲。解決該問題的一種方法是實現接口IXmlSerializable。這樣你可以控制ReadXml(XmlReader reader)方法中的xml反序列化。