static public GameObjData Load(Stream stream) { GameObjData result = new GameObjData(); try { XmlReader reader = XmlReader.Create(stream); reader.ReadStartElement("GameObjData"); result.name = reader.ReadElementString("Name"); result.creater = reader.ReadElementString("Creater"); result.year = int.Parse(reader.ReadElementString("Year")); result.month = int.Parse(reader.ReadElementString("Month")); result.day = int.Parse(reader.ReadElementString("Day")); result.baseNode = GameObjDataNode.ReadFromXML(reader); reader.ReadEndElement(); } catch (Exception) { Log.Write("Load GameObjData error!"); } finally { stream.Close(); } return(result); }
static public void Save(Stream stream, GameObjData data) { try { XmlWriterSettings setting = new XmlWriterSettings(); setting.Indent = true; XmlWriter writer = XmlWriter.Create(stream, setting); writer.WriteStartElement("GameObjData"); writer.WriteElementString("Name", data.name); writer.WriteElementString("Creater", data.creater); writer.WriteElementString("Year", data.year.ToString()); writer.WriteElementString("Month", data.month.ToString()); writer.WriteElementString("Day", data.day.ToString()); data.baseNode.WriteToXML(writer); writer.WriteEndElement(); writer.Flush(); } catch (Exception e) { Log.Write("Save GameObjData error!" + e.Message); } finally { stream.Close(); } }