使用svcutil我从模式文件生成代码。到目前为止,除了这个“Item”属性之外,所有对象都序列化和反序列化ok:
[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对象强制转换为实现AbstractQuery的QueryType类型时,我收到错误消息:
无法将类型为“System.Xml.XmlElement”的对象强制转换为类型 'OGC.CSW.ebRIMProfile.QueryType'
我正在尝试这样做:
(QueryType) test = (QueryType)Request.GetRecords.Item;
我不想要XML,我想要我的对象,任何想法?
答案 0 :(得分:0)
我能够通过添加额外的一行来获得它:
在:
[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)]