예제 #1
0
 public void FromXML(XElement xml)
 {
     this.UUID = (string) xml.Attribute("uuid");
       XElement itemsElement = xml.Element("menus");
       if (itemsElement != null) {
     this.Menus = new ObservableCollection<Menu>();
     foreach (XElement itemElement in itemsElement.Elements()) {
       var mi = new Menu();
       mi.FromXML(itemElement);
       this.Menus.Add(mi);
     }
       }
 }
예제 #2
0
 public void Menu_FromXML_ValidObject()
 {
     var mi = new Menu();
       string xmlIn = "<menu uid=\"1\" name=\"alacarte\" currency_symbol=\"EUR\">\r\n  <menu_description>desc</menu_description>\r\n  <menu_groups>\r\n    <menu_group uid=\"1\" name=\"myname\">\r\n      <menu_group_description>desc</menu_group_description>\r\n      <menu_items>\r\n        <menu_item uid=\"1\">\r\n          <menu_item_name>item1</menu_item_name>\r\n          <menu_item_description>desc1</menu_item_description>\r\n          <menu_item_price>0</menu_item_price>\r\n        </menu_item>\r\n        <menu_item uid=\"2\">\r\n          <menu_item_name>item2</menu_item_name>\r\n          <menu_item_description>desc2</menu_item_description>\r\n          <menu_item_price>0</menu_item_price>\r\n        </menu_item>\r\n      </menu_items>\r\n    </menu_group>\r\n    <menu_group uid=\"2\" name=\"myname\">\r\n      <menu_group_description>desc</menu_group_description>\r\n      <menu_items>\r\n        <menu_item uid=\"1\">\r\n          <menu_item_name>item1</menu_item_name>\r\n          <menu_item_description>desc1</menu_item_description>\r\n          <menu_item_price>0</menu_item_price>\r\n        </menu_item>\r\n        <menu_item uid=\"2\">\r\n          <menu_item_name>item2</menu_item_name>\r\n          <menu_item_description>desc2</menu_item_description>\r\n          <menu_item_price>0</menu_item_price>\r\n        </menu_item>\r\n      </menu_items>\r\n    </menu_group>\r\n  </menu_groups>\r\n</menu>";
       XElement xmlElem = XElement.Load(new StringReader(xmlIn));
       mi.FromXML(xmlElem);
       Assert.AreEqual("alacarte", mi.Name);
       Assert.AreEqual("desc", mi.Description);
       Assert.AreEqual("EUR", mi.Currency);
       Assert.AreEqual("1", mi.UID);
       Assert.AreEqual(2, mi.Groups.Count);
       foreach (MenuGroup menuGroup in mi.Groups) {
     Assert.AreEqual(2, menuGroup.Items.Count);
       }
 }