本文整理汇总了C++中TextParser::getNodes方法的典型用法代码示例。如果您正苦于以下问题:C++ TextParser::getNodes方法的具体用法?C++ TextParser::getNodes怎么用?C++ TextParser::getNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextParser
的用法示例。
在下文中一共展示了TextParser::getNodes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: elem
// #################################################################
// TextParserでのParse
CDM::E_CDM_ERRORCODE
//cdm_FieldFileNameFormat::Read(TextParser *tp)
cdm_FieldFileNameFormat::Read(cdm_TextParser tpCntl)
{
//TP
TextParser *tp = tpCntl.getTPPtr();
if( !tp )
{
return CDM::E_CDM_ERROR_TEXTPARSER;
}
vector<string> top_label; ///< カレントの子ノードのラベル格納
tp->getNodes(top_label);
//FieldFileNameFormatタグがある
int cnt=0;
for(int i=0; i< top_label.size(); i++)
{
if( (strcasecmp(top_label[i].c_str(),"FieldFileNameFormat") == 0 ) ) cnt ++;
}
if( cnt<1 ) return CDM::E_CDM_ERROR_UNDEFINED_FIELDFILENAMEFORMAT;
vector<string> label; ///< FieldFileNameFormat子ノードのラベル格納
//FieldFileNameFormatタグへの移動
tp->changeNode("FieldFileNameFormat");
//FieldFileNameFormatの子ノードを取得
tp->getNodes(label,2);
//FieldFileNameFormatの子ノード数のループ
for(int i=0; i<label.size(); i++)
{
//FieldFileNameFormatElemのインスタンス
cdm_FieldFileNameFormatElem elem(label[i]);
//FieldFileNameFormatElemのパース
if( elem.Read(tp) )
{
//FieldFileNameFormatElemをmapに追加
AddFieldFileNameFormatElem(elem);
} else {
return CDM::E_CDM_ERROR;
}
}
return CDM::E_CDM_SUCCESS;
}
示例2: TextParser_getNodes
static PyObject* TextParser_getNodes(PyObject* self, PyObject* args)
{
PyObject* handle;
int oswitch=0;
if(!PyArg_ParseTuple(args, "O|i", &handle, &oswitch))
{
return NULL;
}
TextParser* tp = static_cast<TextParser*>(PyCObject_AsVoidPtr(handle));
std::vector<std::string> labels;
int ret = tp->getNodes(labels, oswitch);
PyObject* py_labels = PyList_New(labels.size());
int i = 0;
for(std::vector<std::string>::iterator it = labels.begin(); it != labels.end(); ++it)
{
PyList_SetItem(py_labels, i++, Py_BuildValue("s", (*it).c_str()));
}
return Py_BuildValue("iO", ret, py_labels);
}