first approach to list - requires work -> are the items xml::Serialize?
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user