本文整理汇总了C++中XElement::GetFirstChild方法的典型用法代码示例。如果您正苦于以下问题:C++ XElement::GetFirstChild方法的具体用法?C++ XElement::GetFirstChild怎么用?C++ XElement::GetFirstChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XElement
的用法示例。
在下文中一共展示了XElement::GetFirstChild方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParseXmlFilter
GFilter* GetCountRequest::ParseXmlFilter(FeatureClass* pFeatureClass)
{
if(m_pxDoc==NULL)
{
return NULL;
}
XElement* pxRoot = m_pxDoc->GetRootNode();
XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
if(pxQuery==NULL)
{
return NULL;
}
GFilter* pFilter = NULL;
FilterFactory* pFilterFactory = augeGetFilterFactoryInstance();
XElement* pxFilter = (XElement*)pxQuery->GetFirstChild("Filter");
if(pxFilter!=NULL)
{
FilterReader* reader = pFilterFactory->CreateFilerReader(pFeatureClass->GetFields());
pFilter = reader->Read(pxFilter);
reader->Release();
}
return pFilter;
}
示例2: Create
bool GetCountRequest::Create(XDocument* pxDoc)
{
XElement *pxRoot = NULL;
XAttribute *pxAttr = NULL;
m_pxDoc = pxDoc;
pxRoot = pxDoc->GetRootNode();
pxAttr = pxRoot->GetAttribute("version");
if(pxAttr!=NULL)
{
SetVersion(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("mapName");
if(pxAttr!=NULL)
{
SetMapName(pxAttr->GetValue(),false);
}
pxAttr = pxRoot->GetAttribute("sourceName");
if(pxAttr!=NULL)
{
SetSourceName(pxAttr->GetValue());
}
XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
if(pxQuery==NULL)
{
return NULL;
}
pxAttr = pxQuery->GetAttribute("typeName");
if(pxAttr==NULL)
{
return false;
}
SetTypeName(pxAttr->GetValue(),false);
if(m_type_name.empty())
{
return false;
}
return true;
}
示例3: Create
bool GetFeatureRequest::Create(XDocument* pxDoc)
{
XElement *pxRoot = NULL;
XAttribute *pxAttr = NULL;
m_pxDoc = pxDoc;
pxRoot = pxDoc->GetRootNode();
pxAttr = pxRoot->GetAttribute("version");
if(pxAttr!=NULL)
{
SetVersion(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("mapName");
if(pxAttr!=NULL)
{
SetMapName(pxAttr->GetValue(),false);
}
pxAttr = pxRoot->GetAttribute("sourceName");
if(pxAttr!=NULL)
{
SetSourceName(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("outputFormat");
if(pxAttr!=NULL)
{
GLogger* pLogger = augeGetLoggerInstance();
pLogger->Trace(pxAttr->GetValue(),__FILE__,__LINE__);
SetOutputFormat(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("maxFeatures");
if(pxAttr!=NULL)
{
SetMaxFeatures(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("offset");
if(pxAttr!=NULL)
{
SetOffset(pxAttr->GetValue());
}
pxAttr = pxRoot->GetAttribute("encoding");
if(pxAttr!=NULL)
{
SetEncoding(pxAttr->GetValue());
}
XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
if(pxQuery==NULL)
{
return NULL;
}
pxAttr = pxQuery->GetAttribute("typeName");
if(pxAttr==NULL)
{
return false;
}
SetTypeName(pxAttr->GetValue(), false);
if(m_type_name.empty())
{
return false;
}
//Layer* pLayer = NULL;
//pLayer = pMap->GetLayer(m_type_name.c_str());
//if(pLayer==NULL)
//{
// return false;
//}
//if(pLayer->GetType()!=augeLayerFeature)
//{
// return false;
//}
//FeatureLayer* pFLayer = NULL;
//FeatureClass* pFeatureClass = NULL;
//pFLayer = static_cast<FeatureLayer*>(pLayer);
//pFeatureClass = pFLayer->GetFeatureClass();
//if(pFeatureClass==NULL)
//{
// return false;
//}
//FilterFactory* pFilterFactory = augeGetFilterFactoryInstance();
//m_pQuery = pFilterFactory->CreateQuery();
//XElement* pxFilter = (XElement*)pxQuery->GetFirstChild("Filter");
//if(pxFilter!=NULL)
//{
// GFilter* pFilter = NULL;
// FilterReader* reader = pFilterFactory->CreateFilerReader(pFeatureClass->GetFields());
// pFilter = reader->Read(pxFilter);
// m_pQuery->SetFilter(pFilter);
//}
//.........这里部分代码省略.........
示例4: ParseXmlQuery
GQuery* GetFeatureRequest::ParseXmlQuery(FeatureClass* pFeatureClass)
{
if(m_pxDoc==NULL)
{
return NULL;
}
XElement* pxRoot = m_pxDoc->GetRootNode();
XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
if(pxQuery==NULL)
{
return NULL;
}
FilterFactory* pFilterFactory = augeGetFilterFactoryInstance();
GQuery* pQuery = pFilterFactory->CreateQuery();
if(pQuery==NULL)
{
return NULL;
}
XElement* pxFilter = (XElement*)pxQuery->GetFirstChild("Filter");
if(pxFilter!=NULL)
{
GFilter* pFilter = NULL;
FilterReader* reader = pFilterFactory->CreateFilerReader(pFeatureClass->GetFields());
pFilter = reader->Read(pxFilter);
pQuery->SetFilter(pFilter);
}
XElement* pxOrderBy = (XElement*)pxQuery->GetFirstChild("OrderBy");
if(pxOrderBy!=NULL)
{
OrderBy* pOrderBy = ParserOrderBy(pxOrderBy);
if(pOrderBy!=NULL)
{
pQuery->SetOrderBy(pOrderBy);
}
}
//PropertyName
char field_name[AUGE_NAME_MAX];
const char* property_name;
XNode* pxNode = NULL;
XNodeSet* pxNodeSet = pxQuery->GetChildren("PropertyName");
pxNodeSet->Reset();
while((pxNode=pxNodeSet->Next())!=NULL)
{
property_name = pxNode->GetContent();
ParseFieldName(property_name, field_name, AUGE_NAME_MAX);
WebContext* pWebContext = augeGetWebContextInstance();
pQuery->AddSubField(pWebContext->ParameterEncoding(field_name));
}
if(m_max_features>0)
{
pQuery->SetMaxFeatures(m_max_features);
}
if(m_offset>0)
{
pQuery->SetOffset(m_offset);
}
pxNodeSet->Release();
return pQuery;
}