重用同一个ticpp::Document对象,解析不同的xml
string s1="<root><a v="/"></root>"; string s2="<root><b v="/"></root>"; ticpp::Document d1; try { d1.Parse(s1); cout << "a:" << endl << d1 << endl; d1.Parse(s2); cout << "b:" << endl << d1 << endl; }
输出结果为:发现后面一个xml加在原来的xml的后面了。 我需要的是一个新的xml
a: <root><a v="aaa" /></root> b: <root><a v="aaa" /></root><root><b v="bbb" /></root>
查资料发现 ticpp::Document的父类中有Clear()方法,于是试了试:
string s1="<root><a v="/"></root>"; string s2="<root><b v="/"></root>"; ticpp::Document d1; try { d1.Parse(s1); cout << "a:" << endl << d1 << endl; d1.Clear(); d1.Parse(s2); cout << "b:" << endl << d1 << endl; }
这下对了:
a: <root><a v="aaa" /></root> b: <root><b v="bbb" /></root>