我已加载pugi::xml_document
,例如<node></node>
并希望
将xml文本结构添加到此pugi xml doc!
xml文本结构的示例:(存储在std :: string中)
<cmd name="Test"><tag>some text</tag></cmd>
最终的xml doc应如下所示:
<node><cmd name="Test"><tag>some text</tag></cmd></node>
在pugixml中执行此操作的最佳方法是什么?
谢谢!
答案 0 :(得分:0)
加载doc(<node></node>
)的一些功能:
bool Class::ReadXmlString(std::string xml)
{
try
{
pugi::xml_parse_result parseResult = m_xmlDoc->load(xml.c_str());
return parseResult;
}
catch(std::exception &exp)
{
return false;
}
}
添加例如:<cmd name="Test"><tag>some text</tag></cmd>
bool Class::AddFragment(std::string node, std::string xmlValue)
{
try
{
// temporary document to parse the data from a string
pugi::xml_document doc;
if (!doc.load_buffer(xmlValue.c_str(), xmlValue.length())) return false;
// select node from class member pugi::xml_document
pugi::xml_node xmlNode = m_xmlDoc->select_single_node(("//" + node).c_str()).node();
for (pugi::xml_node child = doc.first_child(); child; child = child.next_sibling())
{
xmlNode.append_copy(child);
}
}
catch(std::exception &exp)
{
return false;
}
}