Arcgis二次开发某个接口的方法Serialize()/Deserialize(),以ICodedValueDomian和IRangeDomain的为例。
STDMETHODIMP CodedValueDomain::Serialize(IXMLSerializeData * data)
和STDMETHODIMP CodedValueDomain::Deserialize(IXMLSerializeData * data)
的时候,发生了无法序列化的问题。
出现错误的原因是:没有建立xml的映射关系。
解决办法:
在文件:C:\Program Files (x86)\ArcGIS\Desktop10.3\bin\XmlSupport.dat
追加:
<Type>
<Name>RangeDomain</Name>
<Namespace>http://www.esri.com/schemas/ArcGIS/10.3</Namespace>
<CLSID>{12345678-XXXX-OOOO-QQQQ-DDDDDDDDDDDD}</CLSID>
</Type>
<Type>
<Name>CodedValueDomain</Name>
<Namespace>http://www.esri.com/schemas/ArcGIS/10.3</Namespace>
<CLSID>{87654321-YYYY-PPPP-RRRR-CCCCCCCCCCCC}</CLSID>
</Type>