XmlSerializer не соблюдает пространство имен по умолчанию?

2

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

 [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 ' > не ожидалось." }

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

ТИА,

Теги:
xml-serialization

1 ответ

1
Лучший ответ

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

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

Вам нужно передать "ваше" пространство имен, а не пространство имен w3c.

  • 0
    Благодарю. Я решил просто просмотреть атрибуты вместо этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню