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