ultimatepp/reference/Xmlize_std/Xmlize.cpp
cxl fcab97d934 .reference: Xmlize fixes
git-svn-id: svn://ultimatepp.org/upp/trunk@4813 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2012-04-19 06:49:26 +00:00

38 lines
740 B
C++

#include <Core/Core.h>
#include <vector>
namespace Upp {
template<> void Xmlize(XmlIO& xml, std::vector<int>& data) {
if(xml.IsStoring())
for(int i = 0; i < (int)data.size(); i++)
Xmlize(xml.Add("item"), data[i]);
else {
data.clear();
for(int i = 0; i < xml->GetCount(); i++)
if(xml->Node(i).IsTag("item")) {
data.push_back(0);
Xmlize(xml.At(i), data.back());
}
}
}
};
using namespace Upp;
using namespace std;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
vector<int> x;
x.push_back(1);
x.push_back(2);
x.push_back(3);
String s = StoreAsXML(x, "std-test");
DUMP(s);
vector<int> y;
LoadFromXML(y, s);
for(int i = 0; i < (int)y.size(); i++)
DUMP(y[i]);
}