2014-05-22 78 views
0

我有一个加载pugi::xml_document与例如<node></node>并且想要 添加xml文本结构到这个pugi xml文档!将xml文本结构添加到xml文档中

例如用于XML文本结构:(存储在的std :: string)

<cmd name="Test"><tag>some text</tag></cmd> 

最终的XML文档应该是这样的:

<node><cmd name="Test"><tag>some text</tag></cmd></node> 

是什么在pugixml做到这一点的最好方法是什么?

谢谢!

回答

0

一些函数来加载该文档(<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; 
    } 
} 
相关问题