Esempio n. 1
0
            public static bool TryParse(string text, ParseAttrib param, out string value)
            {
                if (string.IsNullOrEmpty(text))
                {
                    value = string.Empty; return(false);
                }
                ICollection <ParseFormat.Range <int> > ranges;

                if (!ParserEx.TryParseRanges(text, RangeParser, param, out ranges))
                {
                    value = string.Empty; return(false);
                }
                value = text; return(true);
            }
Esempio n. 2
0
        public static string RangesToXml(string text, int step, Nparams param)
        {
            ICollection <ParseFormat.Range <int> > ranges;

            if (!ParserEx.TryParseRanges(text, Prime.RangeParser, param.Get <RangeParserAttrib>(), out ranges))
            {
                return(null);
            }
            // to xml
            var b = new StringBuilder();
            var w = XmlWriter.Create(b, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true
            });

            w.WriteStartElement("root");
            foreach (var range in ranges)
            {
                if (range.HasEndValue)
                {
                    for (int index = range.BeginValue; index <= range.EndValue; index += step)
                    {
                        w.WriteStartElement("item");
                        w.WriteAttributeString("key", index.ToString());
                        w.WriteEndElement();
                    }
                    continue;
                }
                w.WriteStartElement("item");
                w.WriteAttributeString("key", range.BeginValue.ToString());
                w.WriteEndElement();
            }
            w.WriteEndElement();
            w.Close();
            return(b.ToString());
        }