本文整理汇总了C++中XElement::GetChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ XElement::GetChildren方法的具体用法?C++ XElement::GetChildren怎么用?C++ XElement::GetChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XElement
的用法示例。
在下文中一共展示了XElement::GetChildren方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}