代码之家  ›  专栏  ›  技术社区  ›  Jaster

XmlSerializer->不区分大小写

  •  5
  • Jaster  · 技术社区  · 14 年前

    我想知道是否有方法使用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等方法:)

    3 回复  |  直到 14 年前
        1
  •  0
  •   SimSimY    14 年前
    xml_str=xml_str.Replace("StR>","Str>");
    

    或者只是在需要之前执行XSLT转换

        2
  •  1
  •   Preet Sangha    14 年前

    XML是区分大小写的,所以在这种情况下我会说它会失败。所以您应该使用regex清理数据,因为DOM将有XML问题。

        3
  •  0
  •   Simon Fischer    14 年前

    因为Xml是区分大小写的,所以不能自动实现此行为。解决问题的一种方法是 IXmlSerializable ReadXml(XmlReader reader) 方法。