我需要將對象轉換爲xml,並已經通過幾篇文章來做到這一點。但是,我收到錯誤「生成xml文檔時出錯,請確保源類型與目標類型相同」。將對象轉換爲xml
下面是我的代碼
namespace XYZ {
[Serializable]
[XmlRoot("details")]
public class Details
{
private string code;
[XmlAttribute ("code")]
public string Code
{
get { return code; }
set { code= value; }
}
private string mcode;
[XmlAttribute("mcode")]
public string MCode
{
get { return mcode; }
set { mcode= value; }
}
}
}
和其他類文件粘貼下面
namespace ABC
{
[Serializable]
[XmlRoot("BillDetails")]
public class BillDetails
{
private string cat;
[XmlAttribute("Cat")]
public string Cat
{
get { return cat; }
set { cat= value; }
}
private string customername;
[XmlAttribute("CustomerName")]
public string CustomerName
{
get { return customername; }
set { customername = value; }
}
private List<Details> details;
[XmlArray("Details")]
[XmlArrayItem("details")]
// public List<Details> details = new List<Details>();
public List<Details> Details
{
get { return details; }
set { details = value; }
}
}
}
下面是我在哪裏得到的錯誤
List<BillDetails> billlist = new List<BillDetails>();
public int x;
List<Details> newdetails = new List<Details>();
public void Button1_Click(object sender, EventArgs e)
{
if (Session["x"] == null)
{
newdetails.Add(new Details() { Code = Code.Text, MCode = MCode.Text});
billlist.Add(new BillDetails() { Cat = Cat.Text, Details = newdetails.ToList(), CustomerName = CustomerName.Text });
//Code to bindGrid
Session["x"] = newdetails;
serializetoxml(billlist);
}
private void serializetoxml(List<BillDetails> billlist)
{
XmlSerializer myserializer = new XmlSerializer(typeof(BillDetails));
TextWriter mywriter = new StreamWriter("C:\\billlist.xml");
myserializer.Serialize(mywriter, billlist);--- Error is thrown here
mywriter.Close();
}
請幫忙代碼糾正我。
非常感謝你,讓代碼運行。完全錯過了! :) – Janet 2011-03-14 19:14:30