本文整理汇总了C++中XmlDoc::first_node方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDoc::first_node方法的具体用法?C++ XmlDoc::first_node怎么用?C++ XmlDoc::first_node使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDoc
的用法示例。
在下文中一共展示了XmlDoc::first_node方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Config
void CClientInfo::Config(const string& fileName)
{
ifstream inFile(fileName.c_str(), ifstream::in);
string inXml, inLine;
while (getline(inFile, inLine))
inXml += inLine;
XmlVec confData(inXml.begin(), inXml.end());
confData.push_back('\0');
XmlDoc xmlDoc;
try {
xmlDoc.parse<0>(&confData[0]);
} catch (...) {
LOG("ERROR: failed to load the server config file.");
return;
}
XmlNodePtr pNode = NULL;
if ((pNode = xmlDoc.first_node("server_list"))) {
XmlNodePtr pItem = pNode->first_node("server");
while (pItem) {
int pId = HAS_ATTR(pItem, "id") ? atoi(ATTR_VALUE(pItem, "id")) : -1;
string ipStr = HAS_ATTR(pItem, "ip") ? ATTR_VALUE(pItem, "ip") : "127.0.0.1";
int port = HAS_ATTR(pItem, "port") ? atoi(ATTR_VALUE(pItem, "port")) : 12345;
m_svrMap[pId] = pair<string, int>(ipStr, port);
pItem = pItem->next_sibling("server");
}
}
if ((pNode = xmlDoc.first_node("parameters"))) {
m_connNum = HAS_NODE(pNode, "conn_num") ? atoi(NODE_VALUE(pNode, "conn_num")) : 1;
m_fixRate = HAS_NODE(pNode, "fix_rate") ? atoi(NODE_VALUE(pNode, "fix_rate")) : 0;
m_initTimeout = HAS_NODE(pNode, "init_timeout") ? atoi(NODE_VALUE(pNode, "init_timeout")) : 20;
m_videoLen = HAS_NODE(pNode, "video_len") ? atoi(NODE_VALUE(pNode, "video_len")) : 278;
m_initBufferSize = HAS_NODE(pNode, "init_buffer_size") ? atoi(NODE_VALUE(pNode, "init_buffer_size")) : 10;
}
LOG("--------------------------------------------------");
svrMap_t::const_iterator cIt = m_svrMap.begin();
for (; cIt != m_svrMap.end(); ++cIt) {
LOG("|server: id=%d, %s:%d.", (*cIt).first, (*cIt).second.first.c_str(), (*cIt).second.second);
}
LOG("|number of connections: %d.", m_connNum);
LOG("|video length: %d.", m_videoLen);
LOG("|fix rate: %d.", m_fixRate);
LOG("|init buffer timeout: %d.", m_initTimeout);
LOG("|init buffer size: %d.", m_initBufferSize);
LOG("--------------------------------------------------");
xmlDoc.clear();
m_rateVec.push_back(350);
m_rateVec.push_back(470);
m_rateVec.push_back(630);
m_rateVec.push_back(845);
m_rateVec.push_back(1130);
m_rateVec.push_back(1520);
m_rateVec.push_back(2040);
}