ATMLSchemaLibrary.managers.SchemaManager.GetSchemaName C# (CSharp) Method

GetSchemaName() public static method

public static GetSchemaName ( string content ) : string
content string
return string
        public static string GetSchemaName( string content )
        {
            string xsdName = "";
            using (var sr = new StringReader( content ))
            {
                using (XmlReader xrXml = new XmlTextReader( sr ))
                {
                    var doc = new XmlDocument();
                    doc.Load( xrXml );
                    if (doc.DocumentElement == null)
                        throw new Exception( "Failed to load XML data." );

                    XmlNode nsp = doc.DocumentElement.Attributes["xmlns"];
                    XmlNode attribute = doc.DocumentElement.Attributes["xsi:schemaLocation"];
                    string nspn = "";
                    if (nsp != null)
                    {
                        if (attribute != null)
                        {
                            nspn = nsp.InnerText;
                            if (String.IsNullOrEmpty( nspn ))
                                throw new Exception( "Missing default namespace (xmlns) attribute." );

                            string[] parts = attribute.InnerText.Split( ' ' );
                            for (int i = 0; i < parts.Length; i++)
                            {
                                if (nspn.Equals( parts[i] ))
                                {
                                    xsdName = parts[i + 1];
                                    break;
                                }
                                i++;
                            }
                        }

                        if (String.IsNullOrEmpty( xsdName ))
                            throw new Exception( String.Format( "Missing schema location for namespace {0}", nspn ) );
                    }
                }
            }
            return xsdName;
        }