Dev2.StringExtension.IsXml C# (CSharp) Method

IsXml() static private method

Checks if the info contained in data is well formed XML
static private IsXml ( string data, bool &isFragment, bool &isHtml ) : bool
data string
isFragment bool
isHtml bool
return bool
        static bool IsXml(string data, out bool isFragment, out bool isHtml)
        {
            string trimedData = data.Trim();
            bool result = trimedData.StartsWith("<") && !trimedData.StartsWith("<![CDATA[");

            isFragment = false;
            isHtml = false;

            if (result)
            {
                using (TextReader tr = new StringReader(trimedData))
                {
                    using (XmlReader reader = XmlReader.Create(tr, IsXmlReaderSettings))
                    {

                        try
                        {
                            long nodeCount = 0;
                            while (reader.Read() && !isHtml && !isFragment && reader.NodeType != XmlNodeType.Document)
                            {
                                nodeCount++;

                                if (reader.NodeType != XmlNodeType.CDATA)
                                {
                                    if (reader.NodeType == XmlNodeType.Element && reader.Name.ToLower() == "html" && reader.Depth == 0)
                                    {
                                        isHtml = true;
                                        result = false;
                                    }

                                    if (reader.NodeType == XmlNodeType.Element && nodeCount > 1 && reader.Depth == 0)
                                    {
                                        isFragment = true;
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Dev2Logger.Log.Error("DataListUtil", ex);
                            tr.Close();
                            reader.Close();
                            isFragment = false;
                            result = false;
                        }
                    }
                }
            }

            return result;
        }
    }

Same methods

StringExtension::IsXml ( string data, bool &isFragment ) : bool
StringExtension::IsXml ( this payload ) : bool