ultimatepp/reference/Xmlize_std/Xmlize.cpp
cxl 4cb5234213 reference: Xmlize_std
git-svn-id: svn://ultimatepp.org/upp/trunk@553 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-10-20 18:56:22 +00:00

33 lines
680 B
C++

#include <Core/Core.h>
#include <vector>
using namespace Upp;
using namespace std;
template<> void Upp::Xmlize(XmlIO xml, 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());
}
}
}
CONSOLE_APP_MAIN
{
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]);
}