XmlSerializer -> без учета регистра - PullRequest
5 голосов
/ 08 ноября 2010

Мне интересно, есть ли способ использовать XmlSerializer для десериализации объектов с другим регистром.

Допустим, мой объект

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

У меня есть следующие XML-файлы, идентификатор которых можно десериализовать:

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

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

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

Какие-либо предложения / идеи? Также приветствуются подходы, манипулирующие DOM и т. Д.)

Привет

Ответы [ 3 ]

1 голос
/ 08 ноября 2010
xml_str=xml_str.Replace("StR>","Str>");

или просто предварительно преобразуйте XSLT-преобразование, прежде чем приступить к сжатию

1 голос
/ 08 ноября 2010

XML чувствителен к регистру, поэтому в этом случае я бы сказал, что он потерпит неудачу.Поэтому вы должны очистить данные с помощью регулярных выражений, так как DOM будет иметь проблемы с XML.

0 голосов
/ 08 ноября 2010

Поскольку Xml чувствителен к регистру, вы не сможете добиться этого автоматически. Одним из способов решения этой проблемы является реализация интерфейса IXmlSerializable. Таким образом, вы можете управлять десериализацией XML в методе ReadXml(XmlReader reader).

...