DgnCacheP dgnCachep = mdlModelRef_getCache(ACTIVEMODEL); ElementRef eleRef = dgnCache_findElemByID(dgnCachep, elID); EditElemHandle eeh = EditElemHandle(eleRef, ACTIVEMODEL); XmlInstanceStatus iStatus; XmlInstanceSchemaManager schemaManager = XmlInstanceSchemaManager(); XmlInstanceApi apiRef = XmlInstanceApi::CreateApi(iStatus, schemaManager); bool bStatus; schemaManager.ReadSchemas(bStatus); StringListHandle strListHandle = apiRef.ReadInstances(iStatus, eleRef); int count = strListHandle.GetCount(); int i; WString pMember; int b = -1; for (i = 0; i<count; ++i) { WString pSchemaName; pMember = strListHandle.GetString(i); pSchemaName = Bentley::XMLInstanceAPI::Native::XmlInstanceApi::GetSchemaNameFromXmlInstance(iStatus, pMember); if (i == b) { break; } } //pMember里边包含了所有的属性值,可以通过mdlXMLDom_XXX系列函数在这里分析以及修改您要修改的值就行 apiRef.UpdateInstance(iStatus, pMember);
can you give me an example?Thank you,teacher