这篇教程C++ CPLDestroyXMLNode函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CPLDestroyXMLNode函数的典型用法代码示例。如果您正苦于以下问题:C++ CPLDestroyXMLNode函数的具体用法?C++ CPLDestroyXMLNode怎么用?C++ CPLDestroyXMLNode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CPLDestroyXMLNode函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: CPLFreeGMLFeature::~GMLFeature(){ CPLFree( m_pszFID ); int i; for( i = 0; i < m_nPropertyCount; i++ ) { int nSubProperties = m_pasProperties[i].nSubProperties; if (nSubProperties == 1) CPLFree( m_pasProperties[i].aszSubProperties[0] ); else if (nSubProperties > 1) { for( int j = 0; j < nSubProperties; j++) CPLFree( m_pasProperties[i].papszSubProperties[j] ); CPLFree( m_pasProperties[i].papszSubProperties ); } } if (m_nGeometryCount == 1) { CPLDestroyXMLNode(m_apsGeometry[0]); } else if (m_nGeometryCount > 1) { for(i=0;i<m_nGeometryCount;i++) CPLDestroyXMLNode(m_papsGeometry[i]); CPLFree(m_papsGeometry); } CPLFree( m_pasProperties ); CSLDestroy( m_papszOBProperties );}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:33,
示例2: FlushCacheDIMAPDataset::~DIMAPDataset(){ FlushCache(); CPLDestroyXMLNode( psProduct ); CPLFree( pszGCPProjection ); if( nGCPCount > 0 ) { GDALDeinitGCPs( nGCPCount, pasGCPList ); CPLFree( pasGCPList ); } if( poImageDS != NULL ) delete poImageDS; CSLDestroy(papszXMLDimapMetadata);/* -------------------------------------------------------------------- *//* Disconnect the bands so our destructor doesn't try and *//* delete them since they really belonged to poImageDS. *//* -------------------------------------------------------------------- */ int iBand; for( iBand = 0; iBand < GetRasterCount(); iBand++ ) papoBands[iBand] = NULL;}
开发者ID:469447793,项目名称:World-Wind-Java,代码行数:27,
示例3: CPLParseXMLFile/** * LoadMetadata() */void GDALMDReaderResursDK1::LoadMetadata(){ if(m_bIsMetadataLoad) return; if (!m_osXMLSourceFilename.empty()) { CPLXMLNode* psNode = CPLParseXMLFile(m_osXMLSourceFilename); if(psNode != NULL) { CPLXMLNode* pMSPRootNode = CPLSearchXMLNode(psNode, "=MSP_ROOT"); if(pMSPRootNode != NULL) { m_papszIMDMD = ReadXMLToList(pMSPRootNode, m_papszIMDMD, "MSP_ROOT"); } CPLDestroyXMLNode(psNode); } } m_papszDEFAULTMD = CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "MSP"); m_bIsMetadataLoad = true; if(NULL == m_papszIMDMD) { return; } //extract imagery metadata const char* pszSatId = CSLFetchNameValue(m_papszIMDMD, "MSP_ROOT.cCodeKA"); if(NULL != pszSatId) { m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE, CPLStripQuotes(pszSatId)); } const char* pszDate = CSLFetchNameValue(m_papszIMDMD, "MSP_ROOT.Normal.dSceneDate"); if(NULL != pszDate) { const char* pszTime = CSLFetchNameValue(m_papszIMDMD, "MSP_ROOT.Normal.tSceneTime"); if(NULL == pszTime) pszTime = "00:00:00.000000"; char buffer[80]; time_t timeMid = GetAcquisitionTimeFromString(CPLSPrintf( "%s %s", pszDate, pszTime)); strftime (buffer, 80, MD_DATETIMEFORMAT, localtime(&timeMid)); m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_ACQDATETIME, buffer); } m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, MD_CLOUDCOVER_NA);}
开发者ID:bbradbury,项目名称:lib_gdal,代码行数:63,
示例4: OGR_G_CreateFromGMLOGRGeometryH OGR_G_CreateFromGML( const char *pszGML ){ if( pszGML == NULL || strlen(pszGML) == 0 ) { CPLError( CE_Failure, CPLE_AppDefined, "GML Geometry is empty in GML2OGRGeometry()." ); return NULL; }/* -------------------------------------------------------------------- *//* Try to parse the XML snippet using the MiniXML API. If this *//* fails, we assume the minixml api has already posted a CPL *//* error, and just return NULL. *//* -------------------------------------------------------------------- */ CPLXMLNode *psGML = CPLParseXMLString( pszGML ); if( psGML == NULL ) return NULL;/* -------------------------------------------------------------------- *//* Convert geometry recursively. *//* -------------------------------------------------------------------- */ OGRGeometry *poGeometry; poGeometry = GML2OGRGeometry_XMLNode( psGML ); CPLDestroyXMLNode( psGML ); return (OGRGeometryH) poGeometry;}
开发者ID:maowang,项目名称:sqlite-ogc,代码行数:31,
示例5: SetGeometryDirectlyvoid GMLFeature::SetGeometryDirectly( int nIdx, CPLXMLNode* psGeom ){ if( nIdx == 0 && m_nGeometryCount <= 1 ) { SetGeometryDirectly( psGeom ); return; } else if( nIdx > 0 && m_nGeometryCount <= 1 ) { m_papsGeometry = (CPLXMLNode **) CPLMalloc(2 * sizeof(CPLXMLNode *)); m_papsGeometry[0] = m_apsGeometry[0]; m_papsGeometry[1] = NULL; m_apsGeometry[0] = NULL; } if( nIdx >= m_nGeometryCount ) { m_papsGeometry = (CPLXMLNode **) CPLRealloc(m_papsGeometry, (nIdx + 2) * sizeof(CPLXMLNode *)); for( int i = m_nGeometryCount; i <= nIdx + 1; i++ ) m_papsGeometry[i] = NULL; m_nGeometryCount = nIdx + 1; } if (m_papsGeometry[nIdx] != NULL) CPLDestroyXMLNode(m_papsGeometry[nIdx]); m_papsGeometry[nIdx] = psGeom;}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:28,
示例6: gv_symbol_manager_save_vector_symbolint gv_symbol_manager_save_vector_symbol( GvSymbolManager *manager, const char *symbol_name, const char *new_name ){ GvSymbolObj *symbol; /* allocate a new symbol object */ symbol = g_hash_table_lookup( manager->symbol_cache, symbol_name ); CPLDebug("OpenEV", "save_vector_symbol(%s->%s)", symbol_name, new_name ); if ( symbol && symbol->type == GV_SYMBOL_VECTOR ) { GvShape *shape; CPLXMLNode *xml_shape; shape = (GvShape *)symbol->buffer; xml_shape = gv_shape_to_xml_tree( shape ); if ( CPLSerializeXMLTreeToFile( xml_shape, new_name ) ) { CPLDestroyXMLNode( xml_shape ); return TRUE; } } return FALSE;}
开发者ID:Onjrew,项目名称:OpenEV,代码行数:30,
示例7: ParseKMLGeometrystatic OGRGeometry* ParseKMLGeometry(const char* pszKML){ CPLXMLNode* psXML = CPLParseXMLString(pszKML); if (psXML == nullptr) return nullptr; if (psXML->eType != CXT_Element) { CPLDestroyXMLNode(psXML); return nullptr; } OGRGeometry* poGeom = ParseKMLGeometry(psXML); CPLDestroyXMLNode(psXML); return poGeom;}
开发者ID:koordinates,项目名称:gdal,代码行数:17,
示例8: CPLDestroyXMLNodevoid GMLFeature::SetGeometryDirectly( CPLXMLNode* psGeom ){ if (m_apsGeometry[0] != NULL) CPLDestroyXMLNode(m_apsGeometry[0]); m_nGeometryCount = 1; m_apsGeometry[0] = psGeom;}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:8,
示例9: CPLDestroyXMLNodeint OGRFMECacheIndex::Load(){/* -------------------------------------------------------------------- *//* Lock the cache index file if not already locked. *//* -------------------------------------------------------------------- */ if( hLock == NULL && !Lock() ) return FALSE; if( psTree != NULL ) { CPLDestroyXMLNode( psTree ); psTree = NULL; }/* -------------------------------------------------------------------- *//* Open the index file. If we don't get it, we assume it is *//* because it doesn't exist, and we create a "stub" tree in *//* memory. *//* -------------------------------------------------------------------- */ FILE *fpIndex; int nLength; char *pszIndexBuffer; fpIndex = VSIFOpen( GetPath(), "rb" ); if( fpIndex == NULL ) { psTree = CPLCreateXMLNode( NULL, CXT_Element, "OGRFMECacheIndex" ); return TRUE; } /* -------------------------------------------------------------------- *//* Load the data from the file. *//* -------------------------------------------------------------------- */ VSIFSeek( fpIndex, 0, SEEK_END ); nLength = VSIFTell( fpIndex ); VSIFSeek( fpIndex, 0, SEEK_SET ); pszIndexBuffer = (char *) CPLMalloc(nLength+1); if( (int) VSIFRead( pszIndexBuffer, 1, nLength, fpIndex ) != nLength ) { CPLError( CE_Failure, CPLE_FileIO, "Read of %d byte index file failed.", nLength ); return FALSE; } VSIFClose( fpIndex );/* -------------------------------------------------------------------- *//* Parse the result into an inmemory XML tree. *//* -------------------------------------------------------------------- */ pszIndexBuffer[nLength] = '/0'; psTree = CPLParseXMLString( pszIndexBuffer ); CPLFree( pszIndexBuffer ); return psTree != NULL;}
开发者ID:0004c,项目名称:node-gdal,代码行数:57,
示例10: CPLParseXMLFile/** * LoadMetadata() */void GDALMDReaderRapidEye::LoadMetadata(){ if(m_bIsMetadataLoad) return; CPLXMLNode* psNode = CPLParseXMLFile(m_osXMLSourceFilename); if(psNode != NULL) { CPLXMLNode* pRootNode = CPLSearchXMLNode(psNode, "=re:EarthObservation"); if(pRootNode != NULL) { m_papszIMDMD = ReadXMLToList(pRootNode->psChild, m_papszIMDMD); } CPLDestroyXMLNode(psNode); } m_papszDEFAULTMD = CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "RE"); m_bIsMetadataLoad = true; if(NULL == m_papszIMDMD) { return; } //extract imagery metadata const char* pszSatId = CSLFetchNameValue(m_papszIMDMD, "gml:using.eop:EarthObservationEquipment.eop:platform.eop:Platform.eop:serialIdentifier"); if(NULL != pszSatId) { m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE, CPLStripQuotes(pszSatId)); } const char* pszDateTime = CSLFetchNameValue(m_papszIMDMD, "gml:using.eop:EarthObservationEquipment.eop:acquisitionParameters.re:Acquisition.re:acquisitionDateTime"); if(NULL != pszDateTime) { char buffer[80]; time_t timeMid = GetAcquisitionTimeFromString(pszDateTime); strftime (buffer, 80, MD_DATETIMEFORMAT, localtime(&timeMid)); m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_ACQDATETIME, buffer); } const char* pszCC = CSLFetchNameValue(m_papszIMDMD, "gml:resultOf.re:EarthObservationResult.opt:cloudCoverPercentage"); if(NULL != pszSatId) { m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, pszCC); }}
开发者ID:drownedout,项目名称:datamap,代码行数:59,
示例11: UnlockOGRFMECacheIndex::~OGRFMECacheIndex(){ if( psTree != NULL ) { Unlock(); CPLDestroyXMLNode( psTree ); psTree = NULL; } CPLFree( pszPath );}
开发者ID:0004c,项目名称:node-gdal,代码行数:11,
示例12: strlenGDALDataset *ECRGTOCDataset::Open( GDALOpenInfo * poOpenInfo ){ const char *pszFilename = poOpenInfo->pszFilename; CPLString osProduct, osDiscId; if( !Identify( poOpenInfo ) ) return NULL; if( EQUALN(pszFilename, "ECRG_TOC_ENTRY:",strlen("ECRG_TOC_ENTRY:"))) { pszFilename += strlen("ECRG_TOC_ENTRY:"); osProduct = pszFilename; size_t iPos = osProduct.find(":"); if (iPos == std::string::npos) return NULL; osProduct.resize(iPos); pszFilename += iPos + 1; osDiscId = pszFilename; iPos = osDiscId.find(":"); if (iPos == std::string::npos) return NULL; osDiscId.resize(iPos); pszFilename += iPos + 1; }/* -------------------------------------------------------------------- *//* Parse the XML file *//* -------------------------------------------------------------------- */ CPLXMLNode* psXML = CPLParseXMLFile(pszFilename); if (psXML == NULL) { return NULL; } GDALDataset* poDS = Build( pszFilename, psXML, osProduct, osDiscId, poOpenInfo->pszFilename); CPLDestroyXMLNode(psXML); if (poDS && poOpenInfo->eAccess == GA_Update) { CPLError(CE_Failure, CPLE_NotSupported, "ECRGTOC driver does not support update mode"); delete poDS; return NULL; } return poDS;}
开发者ID:drownedout,项目名称:datamap,代码行数:51,
示例13: CPLFreeOGRVRTDataSource::~OGRVRTDataSource(){ CPLFree(pszName); OGRVRTDataSource::CloseDependentDatasets(); CPLFree(paeLayerType); if( psTree != nullptr) CPLDestroyXMLNode(psTree); delete poLayerPool;}
开发者ID:OSGeo,项目名称:gdal,代码行数:14,
示例14: PamInitializeCPLErr GDALPamRasterBand::SetDefaultHistogram( double dfMin, double dfMax, int nBuckets, int *panHistogram){ CPLXMLNode *psNode; PamInitialize(); if( psPam == NULL ) return GDALRasterBand::SetDefaultHistogram( dfMin, dfMax, nBuckets, panHistogram );/* -------------------------------------------------------------------- *//* Do we have a matching histogram we should replace? *//* -------------------------------------------------------------------- */ psNode = PamFindMatchingHistogram( psPam->psSavedHistograms, dfMin, dfMax, nBuckets, TRUE, TRUE ); if( psNode != NULL ) { /* blow this one away */ CPLRemoveXMLChild( psPam->psSavedHistograms, psNode ); CPLDestroyXMLNode( psNode ); }/* -------------------------------------------------------------------- *//* Translate into a histogram XML tree. *//* -------------------------------------------------------------------- */ CPLXMLNode *psHistItem; psHistItem = PamHistogramToXMLTree( dfMin, dfMax, nBuckets, panHistogram, TRUE, FALSE ); if( psHistItem == NULL ) return CE_Failure;/* -------------------------------------------------------------------- *//* Insert our new default histogram at the front of the *//* histogram list so that it will be the default histogram. *//* -------------------------------------------------------------------- */ psPam->poParentDS->MarkPamDirty(); if( psPam->psSavedHistograms == NULL ) psPam->psSavedHistograms = CPLCreateXMLNode( NULL, CXT_Element, "Histograms" ); psHistItem->psNext = psPam->psSavedHistograms->psChild; psPam->psSavedHistograms->psChild = psHistItem; return CE_None;}
开发者ID:Mofangbao,项目名称:node-gdal,代码行数:50,
示例15: CPLFreeVRTRasterBand::~VRTRasterBand(){ CPLFree( pszUnitType ); if( poColorTable != NULL ) delete poColorTable; CSLDestroy( papszCategoryNames ); if( psSavedHistograms != NULL ) CPLDestroyXMLNode( psSavedHistograms ); delete poMaskBand;}
开发者ID:Joe-xXx,项目名称:gdal,代码行数:14,
示例16: EQUALNvoid VRTDataset::FlushCache(){ GDALDataset::FlushCache(); if( !bNeedsFlush || bWritable == FALSE) return; bNeedsFlush = FALSE; // We don't write to disk if there is no filename. This is a // memory only dataset. if( strlen(GetDescription()) == 0 || EQUALN(GetDescription(),"<VRTDataset",11) ) return; /* -------------------------------------------------------------------- */ /* Create the output file. */ /* -------------------------------------------------------------------- */ VSILFILE *fpVRT; fpVRT = VSIFOpenL( GetDescription(), "w" ); if( fpVRT == NULL ) { CPLError( CE_Failure, CPLE_AppDefined, "Failed to write .vrt file in FlushCache()." ); return; } /* -------------------------------------------------------------------- */ /* Convert tree to a single block of XML text. */ /* -------------------------------------------------------------------- */ char *pszVRTPath = CPLStrdup(CPLGetPath(GetDescription())); CPLXMLNode *psDSTree = SerializeToXML( pszVRTPath ); char *pszXML; pszXML = CPLSerializeXMLTree( psDSTree ); CPLDestroyXMLNode( psDSTree ); CPLFree( pszVRTPath ); /* -------------------------------------------------------------------- */ /* Write to disk. */ /* -------------------------------------------------------------------- */ VSIFWriteL( pszXML, 1, strlen(pszXML), fpVRT ); VSIFCloseL( fpVRT ); CPLFree( pszXML );}
开发者ID:Joe-xXx,项目名称:gdal,代码行数:50,
示例17: CPLDestroyXMLNodeGMLHandler::~GMLHandler(){ if (apsXMLNode.size() >= 2 && apsXMLNode[1].psNode != NULL) CPLDestroyXMLNode(apsXMLNode[1].psNode); CPLFree( m_pszCurField ); CPLFree( m_pszGeometry ); CPLFree( m_pszCityGMLGenericAttrName ); CPLFree( m_pszHref ); CPLFree( m_pszUom ); CPLFree( m_pszValue ); CPLFree( pasGeometryNames );}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:14,
示例18: CPLFindFilebool GMLRegistry::Parse(){ if( osRegistryPath.empty() ) { const char *pszFilename = CPLFindFile("gdal", "gml_registry.xml"); if( pszFilename ) osRegistryPath = pszFilename; } if( osRegistryPath.empty() ) return false; CPLXMLNode *psRootNode = CPLParseXMLFile(osRegistryPath); if( psRootNode == NULL ) return false; CPLXMLNode *psRegistryNode = CPLGetXMLNode(psRootNode, "=gml_registry"); if( psRegistryNode == NULL ) { CPLDestroyXMLNode(psRootNode); return false; } CPLXMLNode *psIter = psRegistryNode->psChild; while( psIter != NULL ) { if( psIter->eType == CXT_Element && strcmp(psIter->pszValue, "namespace") == 0 ) { GMLRegistryNamespace oNameSpace; if( oNameSpace.Parse(osRegistryPath, psIter) ) { aoNamespaces.push_back(oNameSpace); } } psIter = psIter->psNext; } CPLDestroyXMLNode(psRootNode); return true;}
开发者ID:Mavrx-inc,项目名称:gdal,代码行数:36,
示例19: CPLFreeOGRVRTDataSource::~OGRVRTDataSource(){ int i; CPLFree( pszName ); for( i = 0; i < nLayers; i++ ) delete papoLayers[i]; CPLFree( papoLayers ); if( psTree != NULL) CPLDestroyXMLNode( psTree );}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:15,
示例20: EQUALCPLErr VRTSourcedRasterBand::SetMetadata( char **papszNewMD, const char *pszDomain ){ if( pszDomain != NULL && (EQUAL(pszDomain,"new_vrt_sources") || EQUAL(pszDomain,"vrt_sources")) ) { VRTDriver *poDriver = (VRTDriver *) GDALGetDriverByName( "VRT" ); CPLErr eErr; int i; if( EQUAL(pszDomain,"vrt_sources") ) { for( int i = 0; i < nSources; i++ ) delete papoSources[i]; CPLFree( papoSources ); papoSources = NULL; nSources = 0; } for( i = 0; i < CSLCount(papszNewMD); i++ ) { const char *pszXML = CPLParseNameValue( papszNewMD[i], NULL ); CPLXMLNode *psTree = CPLParseXMLString( pszXML ); VRTSource *poSource; if( psTree == NULL ) return CE_Failure; poSource = poDriver->ParseSource( psTree, NULL ); CPLDestroyXMLNode( psTree ); if( poSource != NULL ) { eErr = AddSource( poSource ); if( eErr != CE_None ) return eErr; } else return CE_Failure; } return CE_None; } else return VRTRasterBand::SetMetadata( papszNewMD, pszDomain );}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:47,
示例21: mainint main( int argc, char **argv ){ static char szXML[20000000]; FILE *fp; if( argc == 1 ) fp = stdin; else if( argv[1][0] == '-' ) { printf( "Usage: xmlreformat [filename]/n" ); exit( 0 ); } else { fp = fopen( argv[1], "rt" ); if( fp == NULL ) { printf( "Failed to open file %s./n", argv[1] ); exit( 1 ); } } int nLen = fread( szXML, 1, sizeof(szXML), fp ); if( nLen >= (int) sizeof(szXML)-2 ) { fprintf( stderr, "xmlreformat fixed sized buffer (%d bytes) exceeded./n", (int) sizeof(szXML) ); exit(1); } if( fp != stdin ) fclose( fp ); szXML[nLen] = '/0'; CPLXMLNode *poTree = CPLParseXMLString( szXML ); if( poTree != NULL ) { char *pszRawXML = CPLSerializeXMLTree( poTree ); printf( "%s", pszRawXML ); CPLFree( pszRawXML ); CPLDestroyXMLNode( poTree ); } return 0;}
开发者ID:garnertb,项目名称:gdal,代码行数:47,
示例22: CPLParseXMLString// ************************************************************// ParseServerException()// ************************************************************void BaseProvider::ParseServerException(CString s){ CPLXMLNode* node = CPLParseXMLString(s); if (node) { while (node) { CPLXMLNode* nodeException = CPLGetXMLNode(node, "ServiceException"); if (nodeException) { CString msg = CPLGetXMLValue(nodeException, "", ""); CallbackHelper::ErrorMsg(Debug::Format("WMS Server exception (%s): %s", Name, msg)); } node = node->psNext; } CPLDestroyXMLNode(node); }}
开发者ID:liuzhumei,项目名称:MapWinGIS,代码行数:20,
示例23: VSIFreeMEMRasterBand::~MEMRasterBand(){ if( bOwnData ) { VSIFree( pabyData ); } if( poColorTable != NULL ) delete poColorTable; CPLFree( pszUnitType ); CSLDestroy( papszCategoryNames ); if (psSavedHistograms != NULL) CPLDestroyXMLNode(psSavedHistograms);}
开发者ID:StephenHolzman,项目名称:UVAmisc,代码行数:17,
示例24: CPLParseXMLFileCPLErr GDALWMSRasterBand::ReportWMSException(const char *file_name) { CPLErr ret = CE_None; int reported_errors_count = 0; CPLXMLNode *orig_root = CPLParseXMLFile(file_name); CPLXMLNode *root = orig_root; if (root != NULL) { root = CPLGetXMLNode(root, "=ServiceExceptionReport"); } if (root != NULL) { CPLXMLNode *n = CPLGetXMLNode(root, "ServiceException"); while (n != NULL) { const char *exception = CPLGetXMLValue(n, "=ServiceException", ""); const char *exception_code = CPLGetXMLValue(n, "=ServiceException.code", ""); if (exception[0] != '/0') { if (exception_code[0] != '/0') { CPLError(CE_Failure, CPLE_AppDefined, "GDALWMS: The server returned exception code '%s': %s", exception_code, exception); ++reported_errors_count; } else { CPLError(CE_Failure, CPLE_AppDefined, "GDALWMS: The server returned exception: %s", exception); ++reported_errors_count; } } else if (exception_code[0] != '/0') { CPLError(CE_Failure, CPLE_AppDefined, "GDALWMS: The server returned exception code '%s'.", exception_code); ++reported_errors_count; } n = n->psNext; if (n != NULL) { n = CPLGetXMLNode(n, "=ServiceException"); } } } else { ret = CE_Failure; } if (orig_root != NULL) { CPLDestroyXMLNode(orig_root); } if (reported_errors_count == 0) { ret = CE_Failure; } return ret;}
开发者ID:469447793,项目名称:World-Wind-Java,代码行数:45,
示例25: FlushCacheDIMAPDataset::~DIMAPDataset(){ FlushCache(); CPLDestroyXMLNode( psProduct ); CPLFree( pszGCPProjection ); if( nGCPCount > 0 ) { GDALDeinitGCPs( nGCPCount, pasGCPList ); CPLFree( pasGCPList ); } CSLDestroy(papszXMLDimapMetadata); CloseDependentDatasets();}
开发者ID:Joe-xXx,项目名称:gdal,代码行数:18,
示例26: CPLParseXMLString/** * /brief Import coordinate system from XML format (GML only currently). * * This method is the same as the C function OSRImportFromXML() * @param pszXML XML string to import * @return OGRERR_NONE on success or OGRERR_CORRUPT_DATA on failure. */OGRErr OGRSpatialReference::importFromXML(const char *pszXML){ CPLXMLNode *psTree; OGRErr eErr = OGRERR_UNSUPPORTED_SRS; this->Clear();/* -------------------------------------------------------------------- *//* Parse the XML. *//* -------------------------------------------------------------------- */ psTree = CPLParseXMLString(pszXML); if (psTree == NULL) return OGRERR_CORRUPT_DATA; CPLStripXMLNamespace(psTree, "gml", TRUE);/* -------------------------------------------------------------------- *//* Import according to the root node type. We walk through *//* root elements as there is sometimes prefix stuff like *//* <?xml>. *//* -------------------------------------------------------------------- */ CPLXMLNode *psNode = psTree; for (psNode = psTree; psNode != NULL; psNode = psNode->psNext) { if (EQUAL(psNode->pszValue, "GeographicCRS")) { eErr = importGeogCSFromXML(this, psNode); break; } else if (EQUAL(psNode->pszValue, "ProjectedCRS")) { eErr = importProjCSFromXML(this, psNode); break; } } CPLDestroyXMLNode(psTree); return eErr;}
开发者ID:hyyh619,项目名称:OpenSceneGraph-3.4.0,代码行数:51,
注:本文中的CPLDestroyXMLNode函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CPLError函数代码示例 C++ CPLDebug函数代码示例 |