DataCollection ICustomDataItem.Serialize(ITypeSerializer handler) { DataCollection data = new DataCollection(); foreach (KeyValuePair <string, object> entry in properties) { DataNode val; if (entry.Value == null) { continue; } else if (entry.Value is XmlElement) { DataItem xit = new DataItem(); XmlConfigurationReader sr = new XmlConfigurationReader(); xit.ItemData.Add(sr.Read((XmlElement)entry.Value)); val = xit; } else if (entry.Value is DataNode) { val = (DataNode)entry.Value; } else { val = handler.SerializationContext.Serializer.Serialize(entry.Value, entry.Value.GetType()); } val.Name = EscapeName(entry.Key); data.Add(val); } return(data); }
/// <summary> /// Reads a configuration using the specified encryption engine from the specified path /// </summary> /// <param name="encryptionEngine">The encryption engine to use while reading the configuration, null if no decryption is desired</param> /// <param name="configuration">The configuration to be read into</param> /// <param name="path">The path to be read from</param> /// <returns></returns> public static bool ReadConfiguration(FileEncryptionEngine encryptionEngine, out XmlConfiguration configuration, string path) { Stream stream = null; _lastException = null; try { configuration = new XmlConfiguration(); stream = (encryptionEngine != null ? encryptionEngine.CreateDecryptorStream(path) : new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None)); XmlConfigurationReader reader = new XmlConfigurationReader(); configuration = reader.Read(stream); configuration.Path = path; configuration.SetHasUnpersistedChanges(false); return(true); } catch (Exception ex) { Log.WriteLine(ex); _lastException = ex; } finally { if (stream != null) { stream.Close(); } } configuration = null; return(false); }
internal static IEnumerable <ScopedPolicy> DiffDeserializeXml(System.IO.StreamReader reader) { var xr = System.Xml.XmlReader.Create(reader); XmlConfigurationReader configReader = XmlConfigurationReader.DefaultReader; while (!xr.EOF && xr.MoveToContent() != System.Xml.XmlNodeType.None) { DataNode node = configReader.Read(xr); if (node.Name == "PolicySet" && node is DataItem) { foreach (DataNode child in ((DataItem)node).ItemData) { yield return(DiffDeserialize(child)); } } else { yield return(DiffDeserialize(node)); } } }
public void Setup() { _sut = new XmlConfigurationReader(); }
public void LoadRuntimeConfigurationTest() { var objTet = new XmlConfigurationReader() .LoadRuntimeConfiguration(); }