本文整理汇总了C++中XmlElement::setValue方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlElement::setValue方法的具体用法?C++ XmlElement::setValue怎么用?C++ XmlElement::setValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlElement
的用法示例。
在下文中一共展示了XmlElement::setValue方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: save
bool OutXmlSerializer::save(Stream& stream)
{
XmlDocument doc;
XmlDeclaration* decl = zenic_new XmlDeclaration;
decl->setValue("xml");
decl->setAttribute("version","1.0");
decl->setAttribute("encoding","ISO-8859-1");
doc.addChild(decl);
XmlComment* comment = new XmlComment;
comment->setValue(" Cell XML Object Graph ");
doc.addChild(comment);
// add initial objects
for (uint i = 0, n = count(); i < n; ++i)
{
Serializable* initial = (*this)[i];
uint j,m;
for (j = 0, m = m_objects.count(); j < m; ++j)
{
if (m_objects[j] == initial)
break;
}
if (j == m_objects.count())
m_objects.pushBack(initial);
}
// build xml tree
XmlElement* root = new XmlElement;
root->setValue("zenic");
for (uint i = 0; i < m_objects.count(); ++i)
{
Serializable* object = m_objects[i];
ZENIC_ASSERT(object);
m_current = 0;
m_currentIndex = i;
object->serialize(*this);
ZENIC_ASSERT(m_current);
root->addChild(m_current);
}
doc.addChild(root);
// write tree to stream
if (!doc.save(stream))
return false;
return true;
}
示例2: process
void OutXmlSerializer::process(SerializableVersion& version)
{
if (!m_current)
{
ZENIC_ASSERT(version.factory());
XmlElement* current = zenic_new XmlElement;
current->setValue("object");
{
BufferStream temp;
temp << m_currentIndex;
current->setAttribute("id",temp.string());
}
{
BufferStream temp;
temp << hex << setw(8) << setfill('0') << version.factory()->host();
current->setAttribute("host",temp.string());
}
{
BufferStream temp;
temp << hex << setw(8) << setfill('0') << version.factory()->type();
current->setAttribute("type",temp.string());
}
m_current = current;
}
XmlElement* v = zenic_new XmlElement;
v->setValue("version");
XmlText* text = zenic_new XmlText;
BufferStream temp;
temp << version.version();
text->setValue(temp.string());
v->addChild(text);
m_current->addChild(v);
}
示例3: pushGroup
void OutXmlSerializer::pushGroup(const char* name, const char* type)
{
XmlElement* group = new XmlElement;
group->setValue("group");
if (name)
group->setAttribute("name",name);
if (type)
group->setAttribute("type",type);
m_stack.pushBack(m_current);
m_current->addChild(group);
m_current = group;
}
示例4: pushStructure
void OutXmlSerializer::pushStructure(const char* name, SerializableStructure* structure, Pointer* ptr)
{
ZENIC_ASSERT(structure);
XmlElement* st = new XmlElement;
st->setValue("struct");
if (name)
st->setAttribute("name",name);
SerializableFactory* factory = structure->factory();
{
BufferStream temp;
temp << hex << setw(8) << setfill('0') << factory->host();
st->setAttribute("host",temp.string());
}
{
BufferStream temp;
temp << hex << setw(8) << setfill('0') << factory->type();
st->setAttribute("type",temp.string());
}
{
BufferStream temp;
temp << hex << setw(8) << setfill('0') << structure->identifier();
st->setAttribute("id",temp.string());
}
if (ptr->m_allocator && (ptr->m_allocator != &HeapAllocator::allocator()))
{
BufferStream temp;
temp << hex << setfill('0') << setw(8) << ptr->m_allocator->handle();
st->setAttribute("allocator",temp.string());
}
{
BufferStream temp;
temp << ptr->m_count;
st->setAttribute("count",temp.string());
}
m_stack.pushBack(m_current);
m_current->addChild(st);
m_current = st;
}