public string Tokenize(string xml, TokenParser parser)
        {
            XElement webPartXml = XElement.Parse(xml);

            var nodes = webPartXml.Nodes();
            foreach (var node in nodes)
            {
                var element = node as XElement;
                if (!SkipTokenization(element.Name.LocalName)) {
                    element.Value = parser.TokenizeString(element.Value);
                }

            }

            return webPartXml.ToString();
        }
        public string Tokenize(string xml, TokenParser parser)
        {
            XElement webPartXml = XElement.Parse(xml);
            var webPartProperties = webPartXml.Descendants().FirstOrDefault(n => n.Name.LocalName.Equals("properties", StringComparison.InvariantCultureIgnoreCase));
            var nodes = webPartProperties.Nodes();
            foreach (var node in nodes)
            {
                var element = node as XElement;
                if (!SkipTokenization(element.Name.LocalName))
                {
                    element.Value = parser.TokenizeString(element.Value);
                }

            }

            return webPartXml.ToString();
        }