first approach to list - requires work -> are the items xml::Serialize?

This commit is contained in:
Marc Wäckerlin
2009-04-30 08:28:52 +00:00
parent a750bfc1c3
commit 0871fd927f
3 changed files with 117 additions and 73 deletions

View File

@@ -17,14 +17,31 @@ class A: public xml::Serialize {
xml::List<std::string> list;
protected:
void initXmlMembers() {
LOG("A::initXmlMembers");
className("A");
persist(list, "list");
}
};
class B: public xml::Serialize {
public:
int b;
A a;
xml::List<A> as;
protected:
void initXmlMembers() {
className("B");
persist(b, "b");
persist(a, "a");
persist(as, "As");
}
};
int main(int, char**) {
std::stringstream ss("<A>\n"
std::stringstream ss("<B>\n"
"<b>1234</b>"
"<a><list><item>guguseli</item></list></a>"
"<As>"
"<item>\n"
"\t<list>\n"
"\t\t<item>Hello</item>\n"
"\t\t<item>World</item>\n"
@@ -32,12 +49,14 @@ int main(int, char**) {
"\t\t<item>are</item>\n"
"\t\t<item>you</item>\n"
"\t</list>\n"
"</A>");
A a;
std::cout<<"Schema:\n"<<a.schema()<<std::endl;
a.loadXml(ss);
"</item>"
"</As>"
"</B>");
B b;
std::cout<<"SCHEMA:"<<std::endl<<b.schema()<<std::endl;
b.loadXml(ss);
// if (a.list.front()=="Hello") a.list.front()="Good Bye";
// if (a.list.back()=="you") a.list.back()="we";
a.saveXml(std::cout)<<std::endl;
b.saveXml(std::cout)<<std::endl;
return 0;
}