/// <summary>
            /// Creates a <see cref="OfxProfileResponse"/> object from the specified Ofx response string.
            /// </summary>
            /// <param name="inputStr">The input string.</param>
            /// <returns>An OfxProfileResponse object.</returns>
            public static OfxProfileResponse Create(string inputStr)
            {
                OfxHeader header = new OfxHeader(inputStr);
                string    xmlStr = SgmlToXml(inputStr.Substring(header.HeaderEnd));
                var       doc    = new XmlDocument();

                doc.Load(new StringReader(xmlStr));
                OfxProfileResponse ofxProfileResponse = new OfxProfileResponse(header, doc);

                return(ofxProfileResponse);
            }
        public void OfxProfileExample()
        {
            // You need to get your own bank details into an IBank object.
            IBank bank = GetMyBankInfo();

            var builder = OfxFactory.Builder.Create();

            builder.BuildOfxRequest(() =>
            {
                builder.Signon.BuildMessageSet(bank);
                builder.Profile.BuildMessageSet();
            });

            // Send request to the bank and get the response
            string response = GetResponseFromBank(builder.RequestText);
            // Transform response string. Ready to go.
            OfxProfileResponse profile = OfxFactory.ProfileResponse.Create(response);

            // Do something.
            if (profile.BillPay.CanAddPayee)
            {
            }
        }