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; }
private static Person HandlePerson(XContainer xml) { var p = new Person { Address = xml.Elements("Address").First().Value, Name = xml.Elements("Name").First().Value }; return p; }
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); }
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(); }
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(); }
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; }
/// <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); } } }
/// <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; } }
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(); } }
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)); }
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; }
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"))); }
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(); } } }
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); }
/// <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); }
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; } } }
/// <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; }
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)); } } }
/// <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(); } }
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; } } }
/// <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; } } }