Esempio n. 1
0
 private static Employee HandleEmployee(XContainer xml)
 {
     var m = new Employee
                 {
                     Salary = decimal.Parse(xml.Elements("Salary").First().Value),
                     Person = HandlePerson(xml.Elements("Person").FirstOrDefault())
                 };
     return m;
 }
Esempio n. 2
0
        private static Person HandlePerson(XContainer xml)
        {
            var p = new Person
                        {
                            Address = xml.Elements("Address").First().Value,
                            Name = xml.Elements("Name").First().Value
                        };

            return p;
        }
Esempio n. 3
0
        public Post(XContainer post)
        {
            // Get the string properties from the post's element values
            Title = getvalue(post, "title");
            Link = getvalue(post, "guid");
            Description = getvalue(post, "description");
            Creator = getvalue(post, "{http://purl.org/dc/elements/1.1/}creator");

            if (post.Elements("{http://purl.org/rss/1.0/modules/content/}encoded").Any())
                Content = post.Elements("{http://purl.org/rss/1.0/modules/content/}encoded").First().Value;
            else if (post.Elements("enclosure").Any())
                if (post.Elements("enclosure").First().Attribute("url") != null)
                    imageUrl = post.Elements("enclosure").First().Attribute("url").Value;

            if (!String.IsNullOrEmpty(Content))
            {
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(Content);
                var imgLinks = doc.DocumentNode
                             .Descendants("img")
                             .Select(n => n.Attributes["src"].Value)
                             .ToArray();
                if (imgLinks.Length > 0)
                {
                    imageUrl = imgLinks[0].ToString();
                }
            }
            /*//Content = getvalue(post, "{http://purl.org/rss/1.0/modules/content/}encoded");


            if (post.Elements("{http://purl.org/rss/1.0/modules/content/}encoded").Any())
            {

                Content = post.Elements("{http://purl.org/rss/1.0/modules/content/}encoded").First().Value;
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(Content);
                var imgLinks = doc.DocumentNode
                             .Descendants("img")
                             .Select(n => n.Attributes["src"].Value)
                             .ToArray();

                if (imgLinks.Length > 0)
                {
                    imageUrl = imgLinks[0].ToString();
                }
            }*/

            DateTime result;
            if (DateTime.TryParse(getvalue(post, "pubDate"), out result))
                pubDate = (DateTime?)result;
        }
 private static void OrderByMinY(XContainer root)
 {
     var elements = root.Elements().ToList();
     elements.ForEach(x => x.Remove());
     elements = elements.OrderBy(x => x, new CircleCyComparer()).ToList();
     elements.ForEach(root.Add);
 }
Esempio n. 5
0
        static HtmlDocument[] GenerateHtmlDocuments(XContainer element)
        {
            if (element == null)
                return null;

            return element.Elements(DocumentNodeName).Select(GenerateHtmlDocument).ToArray();
        }
		/// <summary>
		/// 	Checkses the calls in element.
		/// </summary>
		/// <param name="ie"> The ie. </param>
		/// <param name="tc"> The tc. </param>
		/// <param name="ic"> The ic. </param>
		/// <remarks>
		/// </remarks>
		private void ChecksCallsInElement(XContainer ie, string tc, string ic) {
			foreach (var e in ie.Elements("call").ToArray()) {
				var code = e.Id();
				if (!Context.Generators.ContainsKey(code)) {
					continue;
				}

				var gen = Context.Generators[code];
				if (gen.IsValid) {
					gen.Execute(Context, e);
					UserLog.Trace("generator " + code + " called in " + tc + "/" + ic + " " + e.Describe().File + ":" +
					              e.Describe().Line);
				}
				else {
					var message = "try call not valid generator with code " + code + " in " + tc + "/" + ic;
					AddError(
						ErrorLevel.Warning,
						message,
						"TW2501",
						null, e.Describe().File, e.Describe().Line
						);
					UserLog.Warn(message);
				}
			}
		}
        private static string GenerateRequest(XContainer dynListXml, Timespan timespan)
        {
            var sb = new StringBuilder();
            sb.Append("wda=" + GenerateTimespanString(timespan)+ " and ");

            using (var enumerator = dynListXml.Elements().GetEnumerator())
            {
                if (enumerator.MoveNext())
                {
                    bool isLast;
                    do
                    {
                        var current = enumerator.Current;
                        isLast = !enumerator.MoveNext();
                        sb.Append(current.Name + "=" + current.Value);
                        if (!isLast)
                        {
                            sb.Append(" and ");
                        }
                    } while (!isLast);
                }
            }

            return sb.ToString();
        }
Esempio n. 8
0
        private void ParseXml(XContainer doc)
        {
            var checks = from check in doc.Elements("check")
                         where check.Element("url") != null
                         select new Check
                             {
                                 Url = (string)check.Element("url"),
                                 ContentMatches = (from content in check.Elements("content")
                                                   where content.Element("positive") != null
                                                   select new ContentMatch
                                                    {
                                                         Match = (string)content.Element("positive"),
                                                         Required = true
                                                    })
                                                    .Union(from content in check.Elements("content")
                                                              where content.Element("negative") != null
                                                              select new ContentMatch
                                                    {
                                                        Match = (string)content.Element("negative"),
                                                        Required = false
                                                    })
                                                    .ToList()
                             };

            Checks = checks.ToList();
        }
 private void ExtractFeatures(XContainer layer)
 {
     foreach (var feature in layer.Elements())
     {
         _featureInfo.FeatureInfos.Add(ExtractFeatureElements(feature));
     }
 }
        public ChoiceParameter(XContainer document)
            : base(document)
        {
            ParameterType = BuildParameterType.ChoiceParameterDefinition;

            Options = document.Elements("choice").Select(a => new NameValuePair(a.Value, a.Value)).ToArray();
        }
Esempio n. 11
0
 private static Dictionary<string, string> GetJoins(XContainer ele)
 {
     if (ele == null)
         return new Dictionary<string, string>();
     var ret = ele.Elements().ToDictionary(j => j.Attribute("name").Value, j => j.Value);
     return ret;
 }
Esempio n. 12
0
 /// <summary>
 /// Loads a structure layout based upon an XML container's children.
 /// </summary>
 /// <param name="layoutTag">The collection of structure field tags to parse.</param>
 /// <returns>The structure layout that was loaded.</returns>
 public static StructureLayout LoadLayout(XContainer layoutTag)
 {
     StructureLayout layout = new StructureLayout();
     foreach (XElement element in layoutTag.Elements())
         HandleElement(layout, element);
     return layout;
 }
        static void WithConfigurationSettings(XContainer configuration, Action<string, string, XAttribute> roleSettingNameAndValueAttributeCallback)
        {
            foreach (var roleElement in configuration.Elements()
                .SelectMany(e => e.Elements())
                .Where(e => e.Name.LocalName == "Role"))
            {
                var roleNameAttribute = roleElement.Attributes().FirstOrDefault(x => x.Name.LocalName == "name");
                if (roleNameAttribute == null)
                    continue;

                var configSettingsElement = roleElement.Elements().FirstOrDefault(e => e.Name.LocalName == "ConfigurationSettings");
                if (configSettingsElement == null)
                    continue;

                foreach (var settingElement in configSettingsElement.Elements().Where(e => e.Name.LocalName == "Setting"))
                {
                    var nameAttribute = settingElement.Attributes().FirstOrDefault(x => x.Name.LocalName == "name");
                    if (nameAttribute == null)
                        continue;

                    var valueAttribute = settingElement.Attributes().FirstOrDefault(x => x.Name.LocalName == "value");
                    if (valueAttribute == null)
                        continue;

                    roleSettingNameAndValueAttributeCallback(roleNameAttribute.Value, nameAttribute.Value, valueAttribute);
                }
            }
        }
Esempio n. 14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RSAKey" /> class.
        /// </summary>
        /// <param name="xml">The xml represention to be loaded.</param>
        /// <exception cref="System.ArgumentNullException">xml</exception>
        public RSAKey(XContainer xml)
        {
            if(xml == null)
            {
                throw new ArgumentNullException("xml");
            }

            XElement elem;
            if((elem = xml.Elements("Private").FirstOrDefault()) != null)
            {
                Private = elem.Value;
            }
            if((elem = xml.Elements("Public").FirstOrDefault()) != null)
            {
                Public = elem.Value;
            }
        }
Esempio n. 15
0
        private static void DeleteItems(XContainer items)
        {
            foreach (var element in items.Elements())
            {
                var database = Factory.GetDatabase(element.GetAttributeValue("database"));

                var obj = database?.GetItem(element.GetAttributeValue("id"));
                obj?.Delete();
            }
        }
Esempio n. 16
0
        public FacetResponse(XContainer element)
        {
            if (element == null)
                return;

            FacetQueriesResult =
                element.Elements("lst")
                       .First(item => item.Attribute("name").Value == "facet_queries")
                       .Elements()
                       .Select(facetFields => new FacetQueriesResult(facetFields));
            FacetFieldsResult =
                element.Elements("lst")
                       .First(item => item.Attribute("name").Value == "facet_fields")
                       .Elements()
                       .Select(facetFields => new FacetFieldsResult(facetFields));
            Ranges = element.Elements("lst")
                       .First(item => item.Attribute("name").Value == "facet_ranges")
                       .Elements()
                       .Select(facetFields => new FacetResults(facetFields));
        }
Esempio n. 17
0
 private static Dictionary<string, CustomColumn> GetColumns(XContainer ele)
 {
     if (ele == null)
         return new Dictionary<string, CustomColumn>();
     var ret = ele.Elements().Select(c => new CustomColumn
         {
             Column = c.Attribute("name").Value,
             Join = (string)c.Attribute("join"),
             Select = c.Value.Trim(),
         }).ToDictionary(cc => cc.Column, cc => cc);
     return ret;
 }
Esempio n. 18
0
 private static IEnumerable<VertexElementLayout> LoadLayoutElements(XContainer container)
 {
     // Element tags have the format:
     // <value stream="(stream)" offset="(offset)" type="(type)" usage="(usage)" usageIndex="(usage index)" />
     return (from element in container.Elements("value")
             select new VertexElementLayout(
                 XMLUtil.GetNumericAttribute(element, "stream"),
                 XMLUtil.GetNumericAttribute(element, "offset"),
                 XMLUtil.GetEnumAttribute<VertexElementType>(element, "type"),
                 XMLUtil.GetEnumAttribute<VertexElementUsage>(element, "usage"),
                 XMLUtil.GetNumericAttribute(element, "usageIndex")));
 }
Esempio n. 19
0
        private static void DeleteItems(XContainer items)
        {
            foreach (var element in items.Elements())
            {
                var database = Factory.GetDatabase(element.GetAttributeValue("database"));
                if (database == null) { continue; }

                var obj = database.GetItem(element.GetAttributeValue("id"));
                if (obj != null)
                {
                    obj.Delete();
                }
            }
        }
Esempio n. 20
0
        public IList Deserialize(XContainer source, string elementName, Type modelType, IList target)
        {
            if (target == null) {
                target = new List<object>();
            }

            IEnumerable<XElement> elts = source.Elements(elementName);
            foreach (XElement elt in elts) {
                object model = Deserialize(elt, modelType);
                target.Add(model);
            }

            return target;
        }
 public FlashcardCategoryTree(XContainer categoryRoot)
 {
     if (categoryRoot == null)
     {
         throw new ArgumentException(
             Resources.FlashcardCategoryTree_FlashcardCategoryTree_The_flashcard_list_contains_no_categories,
             "categoryRoot");
     }
     _categoryRoot = categoryRoot;
     var categoryElements = categoryRoot.Elements("category").ToList();
     Func<XElement, string> keySelector = pCat => pCat.Attribute("name").Value;
     _categoryList = categoryElements.Select(keySelector).ToList();
     _categoryMap = categoryElements.ToDictionary(keySelector);
 }
Esempio n. 22
0
 /// <summary>
 ///     Loads an engine database from an XML container.
 /// </summary>
 /// <param name="container">The container to read engine elements from.</param>
 /// <returns>The built engine database.</returns>
 public static EngineDatabase LoadDatabase(XContainer container)
 {
     XMLSettingsGroupLoader loader = CreateSettingsGroupLoader();
     var result = new EngineDatabase();
     foreach (XElement elem in container.Elements("engine"))
     {
         string name = XMLUtil.GetStringAttribute(elem, "name");
         int levlSize = XMLUtil.GetNumericAttribute(elem, "levlSize");
         int version = XMLUtil.GetNumericAttribute(elem, "version");
         SettingsGroup settings = loader.LoadSettingsGroup(elem);
         var desc = new EngineDescription(name, levlSize, version, settings);
         result.RegisterEngine(desc);
     }
     return result;
 }
        private static void OrderByChildMinY(XContainer root)
        {
            var elements = root.Elements().ToList();

            Func<XElement, decimal> minFunc = x => decimal.Parse(x.Attribute("cy").Value);

            var elementsAndMinY = from e in elements
                select new Tuple<XElement, decimal>(e, e.Elements().Min(minFunc));

            var reorderedElements = from emy in elementsAndMinY
                orderby emy.Item2
                select emy.Item1;

            elements.Remove();
            reorderedElements.ToList().ForEach(root.Add);
        }
Esempio n. 24
0
 private void SubjectAndBody(string prefix, XContainer e)
 {
     foreach (var ee in e.Elements())
     {
         var nname = ee.Name.ToString();
         switch (nname)
         {
             case "Subject":
                 Util.SetProperty(os, prefix + "Subject", ee.Value);
                 break;
             case "Body":
                 Util.SetProperty(os, prefix + "Body", ee.Value);
                 break;
         }
     }
 }
Esempio n. 25
0
 /// <summary>
 ///     Loads a settings group from an XML container.
 /// </summary>
 /// <param name="container">The container to read settings from.</param>
 /// <returns>The loaded settings group.</returns>
 public SettingsGroup LoadSettingsGroup(XContainer container)
 {
     var result = new SettingsGroup();
     foreach (XElement elem in container.Elements())
     {
         if (elem.HasElements)
         {
             result.SetGroup(elem.Name.LocalName, LoadSettingsGroup(elem));
         }
         else
         {
             result.SetSetting(elem.Name.LocalName, LoadSetting(elem));
         }
     }
     return result;
 }
Esempio n. 26
0
        private static void DeleteFiles(XContainer files)
        {
            foreach (var element in files.Elements())
            {
                var path = FileUtil.MapPath(element.GetAttributeValue("filename"));
                if (!File.Exists(path)) { continue; }

                try
                {
                    File.Delete(path);
                }
                catch (Exception)
                {
                    Log.Error($"The post step encountered a problem deleting the file {path}. Please remove manually.", typeof(PackagePostStep));
                }
            }
        }
Esempio n. 27
0
		/// <summary>
		/// 	Extracts the global elements.
		/// </summary>
		/// <param name="file"> The file. </param>
		/// <param name="xml"> The XML. </param>
		/// <remarks>
		/// </remarks>
		private void ExtractGlobalElements(string file, XContainer xml) {
			foreach (var e in xml.Elements("global").ToArray()) {
				var code = e.Id().ToUpper();
				var nameattr = e.Attribute("name");
				var value = null == nameattr ? e.Value : nameattr.Value;
				if (Context.Project.UserLog.Level <= LogLevel.Trace) {
					var existed = Context.Globals.ContainsKey(code);
					if (existed) {
						UserLog.Trace("global " + code + " RECREATED from (" + Context.LocalFileNames[file] + ")");
					}
					else {
						UserLog.Debug("global " + code + " created from (" + Context.LocalFileNames[file] + ")");
					}
				}
				Context.Globals[code] = value;


				e.Remove();
			}
		}
Esempio n. 28
0
 private void Instruction(XContainer e)
 {
     foreach (var ee in e.Elements())
     {
         var instrutions = new[] { "Login", "Select", "Find", "Options", "Special", "Submit", "Sorry", };
         var nname = ee.Name.ToString();
         switch (nname)
         {
             case "ThankYouMessage":
                 os.ThankYouMessage = ee.Value;
                 break;
             case "Terms":
                 os.Terms = ee.Value;
                 break;
             default:
                 if(instrutions.Contains(nname))
                     Util.SetProperty(os, "Instruction" + nname, ee.Value);
                 break;
         }
     }
 }
Esempio n. 29
0
 /// <summary>
 ///     Loads an engine database from an XML container.
 /// </summary>
 /// <param name="container">The container to read engine elements from.</param>
 /// <returns>The built engine database.</returns>
 public static EngineDatabase LoadDatabase(XContainer container)
 {
     XMLSettingsGroupLoader loader = CreateSettingsGroupLoader();
     var result = new EngineDatabase();
     foreach (XElement elem in container.Elements("engine"))
     {
         string name = XMLUtil.GetStringAttribute(elem, "name");
         string version = XMLUtil.GetStringAttribute(elem, "version");
         string inherits = XMLUtil.GetStringAttribute(elem, "inherits", null);
         SettingsGroup settings = loader.LoadSettingsGroup(elem);
         if (!string.IsNullOrWhiteSpace(inherits))
         {
             // Clone the base engine's settings and then import the new settings on top of it
             SettingsGroup baseSettings = result.FindEngineByName(inherits).Settings.DeepClone();
             baseSettings.Import(settings);
             settings = baseSettings;
         }
         var desc = new EngineDescription(name, version, settings);
         result.RegisterEngine(desc);
     }
     return result;
 }
        public IEnumerable<IMessagePart> Deserialize(XContainer partsContainer)
        {
            partsContainer.ThrowIfNull("partsContainer");

            foreach (XElement partElement in partsContainer.Elements())
            {
                switch (partElement.Name.LocalName)
                {
                    case "color":
                        yield return MessageColorSerializer.Instance.Deserialize(partElement);
                        break;
                    case "lineBreak":
                        yield return MessageLineBreakSerializer.Instance.Deserialize(partElement);
                        break;
                    case "question":
                        yield return MessageQuestionSerializer.Instance.Deserialize(partElement);
                        break;
                    case "text":
                        yield return MessageTextSerializer.Instance.Deserialize(partElement);
                        break;
                }
            }
        }