Mega Code Archive

 
Categories / C# / XML
 

XmlRootAttribute

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Xml; using System.Xml.Serialization; public class MainClass {      //new products object     public static void Main() {         XmlAttributes attrs = new XmlAttributes();         attrs.XmlElements.Add(new XmlElementAttribute("Book", typeof(BookProduct)));         attrs.XmlElements.Add(new XmlElementAttribute("Product", typeof(Product)));         XmlAttributeOverrides attrOver = new XmlAttributeOverrides();         attrOver.Add(typeof(Inventory), "InventoryItems", attrs);         Product newProd = new Product();         BookProduct newBook = new BookProduct();         newProd.ProductID = 100;         newProd.ProductName = "Product";         newProd.SupplierID = 10;         newBook.ProductID = 101;         newBook.ProductName = "New Product";         newBook.SupplierID = 10;         newBook.ISBN = "123456789";         Product[] addProd = { newProd, newBook };         Inventory inv = new Inventory();         inv.InventoryItems = addProd;         TextWriter tr = new StreamWriter("inventory.xml");         XmlSerializer sr = new XmlSerializer(typeof(Inventory), attrOver);         sr.Serialize(tr, inv);         tr.Close();     } } [System.Xml.Serialization.XmlRootAttribute()] public class Product {     private int prodId;     private string prodName;     private int suppId;     private int catId;     private string qtyPerUnit;     private Decimal unitPrice;     private short unitsInStock;     private short unitsOnOrder;     private short reorderLvl;     private bool discont;     private int disc;     [XmlAttributeAttribute(AttributeName = "Discount")]     public int Discount {         get { return disc; }         set { disc = value; }     }     [XmlElementAttribute()]     public int ProductID {         get { return prodId; }         set { prodId = value; }     }     [XmlElementAttribute()]     public string ProductName {         get { return prodName; }         set { prodName = value; }     }     [XmlElementAttribute()]     public int SupplierID {         get { return suppId; }         set { suppId = value; }     }     [XmlElementAttribute()]     public int CategoryID {         get { return catId; }         set { catId = value; }     }     [XmlElementAttribute()]     public string QuantityPerUnit {         get { return qtyPerUnit; }         set { qtyPerUnit = value; }     }     [XmlElementAttribute()]     public Decimal UnitPrice {         get { return unitPrice; }         set { unitPrice = value; }     }     [XmlElementAttribute()]     public short UnitsInStock {         get { return unitsInStock; }         set { unitsInStock = value; }     }     [XmlElementAttribute()]     public short UnitsOnOrder {         get { return unitsOnOrder; }         set { unitsOnOrder = value; }     }     [XmlElementAttribute()]     public short ReorderLevel {         get { return reorderLvl; }         set { reorderLvl = value; }     }     [XmlElementAttribute()]     public bool Discontinued {         get { return discont; }         set { discont = value; }     } } public class Inventory {     private Product[] stuff;     public Inventory() { }     [XmlArrayItem("Prod", typeof(Product)),     XmlArrayItem("Book", typeof(BookProduct))]     public Product[] InventoryItems {         get { return stuff; }         set { stuff = value; }     } } public class BookProduct : Product {     private string isbnNum;     public BookProduct() { }     public string ISBN {         get { return isbnNum; }         set { isbnNum = value; }     } }