本文整理汇总了C++中XMLNodePtr::appendChild方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLNodePtr::appendChild方法的具体用法?C++ XMLNodePtr::appendChild怎么用?C++ XMLNodePtr::appendChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLNodePtr
的用法示例。
在下文中一共展示了XMLNodePtr::appendChild方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createNode
XMLNodePtr XMLDoc::createNode(const XMLNodePtr &parent, const TCHAR *nodeName, bool force) {
DEFINEMETHODNAME;
if(parent == NULL) {
throwInvalidArgumentException(method, _T("parent=NULL"));
}
if(nodeName == NULL || _tcsclen(nodeName) == 0) {
throwInvalidArgumentException(method, _T("nodeName=%s"), nodeName?nodeName:_T("null"));
}
StringArray tokens(Tokenizer(nodeName,_T(".")));
// Create path if we got any dots
XMLNodePtr node = parent;
size_t i;
for(i = 0; i < tokens.size() - 1; i++) {
XMLNodePtr tmp = findChild(node,tokens[i].cstr());
if(tmp == NULL) {
tmp = m_doc->createElement(tokens[i].cstr());
node = node->appendChild(tmp);
}
}
XMLNodePtr result = findChild(node,tokens[i].cstr());
if(result != NULL && !force) {
throwException(_T("Node %s alredy exist. set force to true, if duplicates are allowed"), nodeName);
} else {
result = m_doc->createElement(tokens[i].cstr());
result = node->appendChild(result);
}
return result;
}
示例2: setText
void XMLDoc::setText(const XMLNodePtr &node, const TCHAR *value) {
if(node == NULL) {
return;
}
XMLNodePtr Text = findText(node);
if(Text == NULL) {
node->appendChild(m_doc->createTextNode(value));
} else {
Text->nodeValue = value;
}
}