Dev2.Data.Util.XmlHelper.MakeErrorsUserReadable C# (CSharp) Method

MakeErrorsUserReadable() public static method

public static MakeErrorsUserReadable ( string tag ) : string
tag string
return string
        public static string MakeErrorsUserReadable(string tag)
        {
            var result = new StringBuilder();
            var readerSettings = new XmlReaderSettings { ConformanceLevel = ConformanceLevel.Fragment };

            using (TextReader txtreader = new StringReader(tag))
            {
                try
                {
                    using (var reader = XmlReader.Create(txtreader, readerSettings))
                    {
                        var count = 0;

                        while (reader.Read())
                        {
                            using (var fragmentReader = reader.ReadSubtree())
                            {
                                if (fragmentReader.Read())
                                {
                                    try
                                    {
                                    var fragment = XNode.ReadFrom(fragmentReader) as XElement;

                                    if (fragment != null &&
                                        fragment.Name.LocalName ==
                                        GlobalConstants.InnerErrorTag.TrimStart('<').TrimEnd('>'))
                                    {
                                        count++;
                                        result.AppendFormat(" {0} ", count);
                                        result.AppendLine(fragment.Value);
                                    }
                                }
                                    catch (Exception)
                                    {
                                        // There was an issue parsing, must be text node now ;(

                                        count++;
                                        result.AppendFormat(" {0} ", count);
                                        result.AppendLine(fragmentReader.Value);
                                    }
                                }
                            }
                        }
                    }
                }
                catch (InvalidOperationException ioex)
                {
                    Dev2Logger.Log.Error("XmlHelper", ioex);
                    result.Clear();
                    result.Append(tag);
                }
            }

            return result.ToString();
        }