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>
探讨了在ArcGIS二次开发中,ICodedValueDomain和IRangeDomain接口使用Serialize()和Deserialize()方法时遇到的序列化问题。错误源于未正确建立XML映射关系,解决方案是在特定路径下追加相应的Type节点。
1万+

被折叠的 条评论
为什么被折叠?



