2015-04-20 29 views
0

我不明白爲什麼,而BBBString有不同的內容爲每個(i,j),在xml節點「BBB」始終是相同的值(對應於最後一對(我, j))。其他節點具有確切的內容!Rapidxml寫內存錯誤

for (unsigned short int i = 0; i < input1.size(); i++) 
    { 
     for (unsigned short int j = 0; j < input1[i].size(); j++) 
     { 
      count = 0; 
      max = input1[i][j].size(); 
      iter = input1[i][j].begin(); 
      while (count < max) 
      { 
       rapidxml::xml_node<> * new_node = doc.allocate_node(rapidxml::node_element, "Element"); 
       new_node->append_node(doc.allocate_node(rapidxml::node_element, "AAA", (*(*iter)).getName().c_str())); 

       std::string BBBString = boost::lexical_cast<std::string>(input4[i]); 
       std::cout << "BBBString = " << BBBString << std::endl; 
       new_node->append_node(doc.allocate_node(rapidxml::node_element, "BBB", BBBString.c_str())); 
       new_node->append_node(doc.allocate_node(rapidxml::node_element, "CCC", input2[i].getName().c_str())); 
       new_node->append_node(doc.allocate_node(rapidxml::node_element, "DDD", input3[j].getName().c_str())); 

       other_node->append_node(new_node); 
       iter++; 
       count++; 
      } 
     } 
    } 
+0

[rapidxml - 覆蓋以前的xml \ _nodes]的可能的重複(http://stackoverflow.com/questions/11059679/rapidxml-overwriting-previous-xml-nodes) – Roddy

回答