系列化到XML的問題是,如果你的類被序列變化(新屬性),那麼XML不能被用來重新創建類的實例。
如果類是相當簡單的(或者即使它不是),你可以做手工:
XmlDocument doc = new XmlDocument();
XmlNode root = doc.CreateNode(XmlNodeType.Element,"root")
doc.AppendChild(root)
XmlNode newPage = doc.CreateNode(XmlNodeType.Element,"pattern")
root.AppendChild(newPage)
newPage.Attributes.Append(doc.CreateAttribute("Name",pattern.Name)
foreach (Hole h in pattern.Holes)
{
XmlNode hole = doc.CreateNode(XmlNodeType.Element,"hole")
hole.Attributes.Append(doc.CreateAttribute("XCoord",h.Xcoord)
hole.Attributes.Append(doc.CreateAttribute("YCoord",h.Ycoord)
newPage.AppendChild(hole)
}
// etc
doc.Save("output.xml")
此代碼是粗糙的,但它會產生類似:
<root>
<pattern name="Pattern1">
<hole XCoord="100" YCoord="50" />
</pattern>
</root>
難道以下任何回答你的問題? – DMCS 2009-02-25 21:41:22
我相信他們有,只是看着答覆。但是,我還沒有時間進入我的應用程序的那部分。我確定計劃,因爲我想知道如何做到這一點。 – MattSlay 2009-02-27 15:42:07