private static void TryYax() { var obj = CreateFakeObject(); obj.SetValues(); var serializer = new YAXSerializer(typeof(Parameters), YAXExceptionHandlingPolicies.DoNotThrow,YAXExceptionTypes.Error, YAXSerializationOptions.DontSerializeCyclingReferences|YAXSerializationOptions.DontSerializeNullObjects|YAXSerializationOptions.DontSerializePropertiesWithNoSetter); var someString = serializer.Serialize(obj); File.WriteAllText("yax.xml", someString); var back = serializer.DeserializeFromFile("yax.xml"); }
public MyNetworkState LoadState(string fileName) { try { YAXSerializer serializer = new YAXSerializer(typeof(MyNetworkState), YAXExceptionHandlingPolicies.ThrowErrorsOnly, YAXExceptionTypes.Warning); MyNetworkState networkState = (MyNetworkState)serializer.DeserializeFromFile(fileName); if (Owner.Name != networkState.ProjectName) { throw new InvalidDataException("Different network state file: " + networkState.ProjectName); } MyMemoryManager.Instance.LoadBlocks(this, true, networkState.MemoryBlocksLocation); return networkState; } catch (Exception e) { MyLog.ERROR.WriteLine("Restoring state failed: " + e.Message); return new MyNetworkState(); } }
private void OnDeserialize(bool openFromFile) { rtbParsingErrors.Text = ""; object selItem = lstSampleClasses.SelectedItem; if (selItem == null || !(selItem is ClassInfoListItem)) return; string fileName = null; if (openFromFile) { if (DialogResult.OK != openFileDialog1.ShowDialog()) return; fileName = openFileDialog1.FileName; } var info = selItem as ClassInfoListItem; YAXExceptionTypes defaultExType = GetSelectedDefaultExceptionType(); YAXExceptionHandlingPolicies exPolicy = GetSelectedExceptionHandlingPolicy(); YAXSerializationOptions serOption = GetSelectedSerializationOption(); try { object deserializedObject = null; YAXSerializer serializer = new YAXSerializer(info.ClassType, exPolicy, defaultExType, serOption); serializer.MaxRecursion = Convert.ToInt32(numMaxRecursion.Value); if (openFromFile) deserializedObject = serializer.DeserializeFromFile(fileName); else deserializedObject = serializer.Deserialize(rtbXMLOutput.Text); rtbParsingErrors.Text = serializer.ParsingErrors.ToString(); if (deserializedObject != null) { rtbDeserializeOutput.Text = deserializedObject.ToString(); if (deserializedObject is List<string>) { StringBuilder sb = new StringBuilder(); foreach (var item in deserializedObject as List<string>) { sb.AppendLine(item.ToString()); } MessageBox.Show(sb.ToString()); } } else rtbDeserializeOutput.Text = "The deserialized object is null"; } catch (YAXException ex) { rtbDeserializeOutput.Text = ""; MessageBox.Show("YAXException handled:\r\n\r\n" + ex.ToString()); } catch (Exception ex) { rtbDeserializeOutput.Text = ""; MessageBox.Show("Other Exception handled:\r\n\r\n" + ex.ToString()); } }
private void InitFromXmlFile(string xmlFile) { var serializer = new YAXSerializer(typeof(NuspecModel), YAXExceptionHandlingPolicies.ThrowWarningsAndErrors, YAXExceptionTypes.Error, YAXSerializationOptions.DontSerializeNullObjects); model = serializer.DeserializeFromFile(xmlFile) as NuspecModel; if (model == null) throw new Exception("Can't deseralize xml nuspec file"); }
private static void LoadLanguage() { LanguageList.Clear(); string[] xmlFileList = Directory.GetFiles(LanguageFolder, "*.xml"); foreach (string xmlFile in xmlFileList) { YAXSerializer serializer = new YAXSerializer(typeof(Language)); Language language = serializer.DeserializeFromFile(xmlFile) as Language; LanguageList.Add(language); } }