我tryind反序列化XML文件轉換成對象[] - 對象是具有以下字段如何將xml反序列化爲對象數組?
矩形public class Rectangle : IXmlSerializable
{
public string Id { get; set; }
public Point TopLeft { get; set; }
public Point BottomRight { get; set; }
public RgbColor Color { get; set; }
}
我創建幾個矩形,它們保存到一個數組並設法它們序列化到的XML我得到的語法如下:
<?xml version="1.0" encoding="utf-8" ?>
- <Rectangles>
- <Rectangle>
<ID>First one</ID>
- <TopLeft>
<X>0.06</X>
<Y>0.4</Y>
</TopLeft>
- <BottomRight>
<X>0.12</X>
<Y>0.13</Y>
</BottomRight>
- <RGB_Color>
<Blue>5</Blue>
<Red>205</Red>
<Green>60</Green>
</RGB_Color>
</Rectangle>
-
現在我想反序列化對象的矩形返回到一個新的矩形[] 我應該怎麼辦呢?
XmlSerializer mySerializer = new XmlSerializer(typeof(Rectangle));
FileStream myFileStream = new FileStream("rectangle.xml", FileMode.Open);
Rectangle[] r = new Rectangle[] {};
Rectangle rec;
for (int i = 0; i < 3; i++)
{
r[i] = (Rectangle) mySerializer.Deserialize(myFileStream);
}
我得到一個InvalidOperationException異常 - {「有是XML文檔(1,40)中的錯誤。」} 我到底做錯了什麼?
謝謝
你的方形XML標籤沒有結束。這是一個錯字嗎? –