public static ChummerCharacter Load(string path) { try { XmlDocument doc = new XmlDocument(); doc.Load(path); XmlSerializer serializer = new XmlSerializer(typeof(ChummerCharacter)); XmlSerializer attrSerializer = new XmlSerializer(typeof(Attribute)); StringReader reader = new StringReader(doc.OuterXml); StringReader attReader = new StringReader(doc.OuterXml); ChummerCharacter character = serializer.Deserialize(reader) as ChummerCharacter; while (attReader.Peek() > 0) { character.attributes.Add(attrSerializer.Deserialize(attReader) as Attribute); } reader.Close(); attReader.Close(); return(character); } catch (FileNotFoundException e) { if (e.Source != null) { Console.WriteLine("FileNotFoundException source: {0}", e.Source); } throw; }; }
private void ImportCharacterButton_Click(object sender, EventArgs e) { DialogResult res = openFileDialog1.ShowDialog(); if (res == DialogResult.OK) // Test result. { string file = openFileDialog1.FileName; ChummerCharacter cc = ChummerCharacter.Load(file); cc.ParseAttributes(); string name = cc.alias; //string arm = cc.primaryarm; SimpleCharacter cha = new SimpleCharacter(cc.alias, 1, cc.BOD, cc.AGI, cc.REA, cc.STR, cc.CHA, cc.INT, cc.LOG, cc.WIL); addCharacterToCharacterList(cha); } PersistentListHandler.WriteListFile(charList); }