Rapidxml不会更改doc中的节点值

时间:2018-08-18 12:55:04

标签: c++ rapidxml

我使用Rapidxml更改了xml文档中的一个值,并将其保存到文件中。我的问题是,此值没有更改。我打印了该值,然后打印了整个doc,但该值不同。预先谢谢你。

rapidxml::file<> xmlFile("test.xml");
xml_document<> doc;
doc.parse<0>(xmlFile.data());
//code for changing one value 

//after i am printing everything and the values are different in two next lines
cout << doc.first_node()->first_node()->first_node()->first_node()->first_node()->value();
cout << doc;
std::string data;
rapidxml::print(std::back_inserter(data), doc);
cout << data;
std::ofstream file_stored;
file_stored.open("test2.xml");
file_stored << data;
file_stored.close();
doc.clear();

多数民众赞成在输出:

48
<settings version="1.0">
        <widget name="Test">
                <common>
                        <param tag="fontSize">
                                <int>24</int>
                        </param>
                </common>
                <param tag="itemWidth">
                        <int>720</int>
                </param>
                <param tag="itemHeight">
                        <int>480</int>
                </param>
        </widget>
</settings>

,预期输出在第一个int节点中应具有<int>48</int>

0 个答案:

没有答案