public virtual void ReadFrom(XElement xE) { Key = null; Value = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "key") { Key = AttributeTypeExtensions.Parse(xItem.Value); } else if (localName == "value") { Value = InstanceCreator.CreateAttribute(xItem); Value.ReadFrom(xItem); } } }