XmlSerializer не соблюдает пространство имен по умолчанию? - PullRequest
2 голосов
/ 17 января 2010

У меня есть этот класс:

 [Serializable]   
    public class Element 
    {
        [XmlAttribute("maxOccurs")]
        public int MaxOccurs{get; set;}
        [XmlAttribute("minOccurs")]
        public int MinOCcurs{get; set;}
        [XmlAttribute("name")]
        public string Name{get; set;}
        [XmlAttribute("nillable")]
        public bool IsNillable{get; set;}
        [XmlAttribute("type")]
        public string Type{get; set;}

    }

Я создал XmlSerializer следующим образом:

XmlSerializer serializer = new XmlSerializer(elementType, "http://www.w3.org/2001/XMLSchema");

Когда я пытаюсь десериализовать этот образец XML

http://www.w3.org/2001/XMLSchema\" />

Я получаю следующее сообщение об исключении:

{"http://www.w3.org/2001/XMLSchema'> не ожидалось."}

Что я пропустил?

ТИА,

1 Ответ

1 голос
/ 17 января 2010

Проверьте конструктор XmlSerializer -

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.xmlserializer.aspx

Вы захотите передать "ваше" пространство имен, а не пространство имен w3c.

...