свойство объекта не десериализовано - PullRequest
1 голос
/ 03 октября 2011

с использованием svcutil я сгенерировал код из файлов схемы.Пока что все объекты сериализуются и десериализируются нормально, кроме этого свойства "Item":

    [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
    [System.Xml.Serialization.XmlElementAttribute("AbstractQuery", typeof(AbstractQueryType), Order=2)]
    public object Item
    {
        get
        {
            return this.itemField;
        }
        set
        {
            this.itemField = value;
        }
    }

Когда я пытаюсь привести объект Item к типу QueryType, который реализует AbstractQuery, я получаю сообщение об ошибке:

Невозможно привести объект типа 'System.Xml.XmlElement' к типу 'OGC.CSW.ebRIMProfile.QueryType'

Я пытаюсь сделать это:

(QueryType) test = (QueryType)Request.GetRecords.Item;

Я не хочу XML, мне нужны мои объекты, есть идеи?

1 Ответ

0 голосов
/ 03 октября 2011

Я смог получить его, добавив эту дополнительную строку:

До:

[System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
[System.Xml.Serialization.XmlElementAttribute("AbstractQuery", typeof(AbstractQueryType), Order=2)]

После того, как:

[System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
[System.Xml.Serialization.XmlElementAttribute("AbstractQuery", typeof(AbstractQueryType), Order=2)]
[System.Xml.Serialization.XmlElementAttribute("Query", typeof(QueryType), Order = 2)]
...