Set Xml Attribute when serilzation : Xml Serialization « XML « C# / C Sharp






Set Xml Attribute when serilzation

  


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 {
    public static void Main() {
        Product pd = new Product();
        pd.ProductID = 200;
        pd.CategoryID = 100;
        pd.Discontinued = false;
        pd.ProductName = "Serialize Objects";
        pd.QuantityPerUnit = "6";
        pd.ReorderLevel = 1;
        pd.SupplierID = 1;
        pd.UnitPrice = 1000;
        pd.UnitsInStock = 10;
        pd.UnitsOnOrder = 0;
        TextWriter tr = new StreamWriter("serialprod.xml");
        XmlSerializer sr = new XmlSerializer(typeof(Product));
        sr.Serialize(tr, pd);
        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;

    //added the Discount attribute
    [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; }
    }

}

           
         
    
  








Related examples in the same category

1.Serialize List of Objects
2.Use XmlSerializer
3.Use XML Serialization with Custom Objects
4.XmlRootAttribute
5.Takes an XML file and exports the Object it holds
6.Converts an XML string to an object
7.Deserializes/Serializes an xml document back into an object
8.Deserialize with XmlSerializer
9.XmlSerializer Util
10.Serilize to Xml
11.Xml Serialization Helper
12.Xml Serialization Helper 2
13.Tiny Xml Serializer
14.Xml Serialization Manager