ArcObjects Library Reference  (GeoDatabaseDistributed)    

ExportDatasetsSchema Example

[Visual Basic 6.0]

'*** The following example allows you to export the dataset schema to an xml file. ***

'*** This requires an ArcGIS License and you will need to initialize the AoInitialize CoClass ***


Private Sub ExportDS_Schema(db As String, XmlFile As String)

Dim pWSF As IWorkspaceFactory
Set pWSF = New AccessWorkspaceFactory
 
'*** Open PGDB ***
Dim pWS As IWorkspace
Set pWS = pWSF.OpenFromFile(App.Path + db, 0)
 
'*** Look for Dataset Name ***
Dim pEnumDSN As IEnumDatasetName
Set pEnumDSN = pWS.DatasetNames(esriDTFeatureDataset)
 
pEnumDSN.Reset

Dim pEnumEdit As IEnumNameEdit
Set pEnumEdit = New NamesEnumerator
 
'*** QI for Dataset Name ***
Dim pName As IName
Set pName = pEnumDSN.Next
 
pEnumEdit.Add pName
Set pName = pEnumDSN.Next
 
'*** Call GeoDBDataTransfer ***
Dim pGDT As IGeoDBDataTransfer
Set pGDT = New GeoDBDataTransfer
 
Dim pEnumNmae As IEnumName
Set pEnumName = pEnumEdit
 
'*** Create Scratch Workspace Factory ***
Dim pSWSF As IScratchWorkspaceFactory
Set pSWSF = New ScratchWorkspaceFactory
 
Dim pScratchWS As IWorkspace
Set pScratchWS = pSWSF.CreateNewScratchWorkspace
 
Dim pDS As IDataset
Set pDS = pScratchWS
 
Set pName = pDS.FullName
 
'*** Fill IEnumNameMapping ***
Dim pEnumNM As IEnumNameMapping
Dim bHasConflicts As Boolean
bHasConflicts = pGDT.GenerateNameMapping(pEnumName, pName, pEnumNM)
 
' *** Create GdbExporter ***
Dim pExporter As IGdbXmlExport
Set pExporter = New GdbExporter
 
' *** Export Dataset Schema ***
pExporter.ExportDatasetsSchema pEnumNM, XmlFile, False, True
 
End Sub

'*** Create a commandbutton and copy/paste following code. ***

 

Private Sub cmdExportDS_Schema_Click()

Me.MousePointer = vbHourglass

 

'*** Location of PGDB *** 
Dim db As String
db = "\GN.mdb"

'*** Location of xml file ***

Dim XmlFile As String
XmlFile = App.Path + "\GN.xml"
 
ExportDS_Schema db, XmlFile
 
MsgBox "Exported Dataset Schema to XML.", vbInformation
 
End Sub


[Visual Basic .NET, C#, C++]
No example is available for Visual Basic .NET, C#, or C++. To view a Visual Basic 6.0 example, click the Language Filter button Language Filter in the upper-left corner of the page.