private XElement AddChildElement(XContainer parent, string name) { var element = new XElement(name); parent?.Add(element); return(element); }
/// <summary> /// Updates the method element. /// </summary> /// <param name="method">The method.</param> /// <param name="elementPosition">The element position.</param> /// <param name="fileId">The file id.</param> private static void UpdateMethodElement(XContainer method, SourceElementPosition elementPosition, string fileId) { for (int i = elementPosition.Start; i <= elementPosition.End; i++) { var seqpnt = new XElement( "pt", new XAttribute("visit", "0"), new XAttribute("fid", fileId), new XAttribute("sl", i)); method.Add(seqpnt); } }
internal static void AddIndented(XContainer container, XContainer content) { var oneIndentLevel = ComputeOneLevelOfIndentation(container); var leadingText = container.PreviousNode as XText; var parentIndent = leadingText != null ? leadingText.Value : Environment.NewLine; IndentChildrenElements(content, parentIndent + oneIndentLevel, oneIndentLevel); AddLeadingIndentation(container, parentIndent, oneIndentLevel); container.Add(content); AddTrailingIndentation(container, parentIndent); }
private static void SaveThreeState(XContainer xRoot, string containerName, MultiCheckboxState state) { if (state == MultiCheckboxState.Partial) { return; } var xContainerElement = new XElement(containerName); xRoot.Add(xContainerElement); xContainerElement.Add(new XElement(StateNode, state.ToString())); }
public void SavePresetInfo(XContainer xRootElement) { var xInfoElement = new XElement(InfoNode); xRootElement.Add(xInfoElement); xInfoElement.Add(new XElement(PresetVersionNode, PresetVersion)); xInfoElement.Add(new XElement(PresetAuthorNode, Author)); xInfoElement.Add(new XElement(PresetTemplateNode, false)); xInfoElement.Add(new XElement(PresetDescriptionNode, string.IsNullOrEmpty(Description) ? "None" : Description)); //xInfoElement.Add(new XElement(PresetDateNode, DateTime.Now)); }
public static void AddAttribute(this XContainer parent, params XAttribute[] attributes) { if (attributes == null || parent == null) { return; } if (attributes.Length < 1) { return; } parent.Add(attributes); }
/// <summary> /// Adds a new source code file to the report. /// </summary> /// <param name="filesContainer">The files container.</param> /// <param name="fileId">The file id.</param> /// <param name="file">The file path.</param> protected override void AddNewFile(XContainer filesContainer, string fileId, string file) { XDocument document = filesContainer as XDocument; if (document != null) { document.Root.Add(new XElement("File", new XAttribute("id", fileId), new XAttribute("url", file))); } else { filesContainer.Add(new XElement("File", new XAttribute("id", fileId), new XAttribute("url", file))); } }
/// <summary> /// Get the element. The element is created first when doesn't exist /// </summary> /// <param name="container">Element's container (parent)</param> /// <param name="name">Name of the element (tag)</param> /// <param name="ns">Namespace info</param> /// <returns>Element</returns> private static XElement GetOrCreateElement(XContainer container, string name, XNamespace ns) { var element = container.Element(ns + name); if (element != null) { return(element); } element = new XElement(ns + name); container.Add(element); return(element); }
public static void AddChild(this XContainer parent, params XElement[] childrens) { if (childrens == null || parent == null) { return; } if (childrens.Length < 1) { return; } parent.Add(childrens); }
public static void AddFetchXmlFilterCondition(this XContainer filter, string attribute, string operatorName, string value) { filter.ThrowOnNull("filter"); var condition = new XElement("condition"); condition.SetAttributeValue("attribute", attribute); condition.SetAttributeValue("operator", operatorName); condition.SetAttributeValue("value", value); filter.Add(condition); }
public static void AddOrReplace(this XContainer @this, XElement element) { var oldElement = @this.Element(element.Name); if (oldElement != null) { oldElement.ReplaceWith(element); } else { @this.Add(element); } }
private static void SortAlphabetically(XContainer packageReferenceItemGroup) { // Remove and re-add the elements in alphabetical order var packageReferenceElements = packageReferenceItemGroup .Elements() .OrderBy(x => x.Attributes("Include").Single().Value); foreach (var packageReferenceElement in packageReferenceElements) { packageReferenceElement.Remove(); packageReferenceItemGroup.Add(packageReferenceElement); } }
public static void AddIndented(this XContainer container, XContainer content) { string oneIndentLevel = container.ComputeOneLevelOfIndentation(); XText leadingText = container.PreviousNode as XText; string parentIndent = leadingText != null ? leadingText.Value : Environment.NewLine; content.IndentChildrenElements(parentIndent + oneIndentLevel, oneIndentLevel); AddLeadingIndentation(container, parentIndent, oneIndentLevel); container.Add(content); AddTrailingIndentation(container, parentIndent); }
/// <summary> /// Add generic product data to an xml file /// Code inspired from http://getcodesnippet.com/2014/05/15/how-to-convert-csv-file-to-xml-file-in-c/ /// </summary> /// <param name="xElement"></param> /// <param name="columns"></param> private static void AddGenericXmlData(XContainer xElement, IReadOnlyList <string> columns) { xElement.Add(new XElement("Item", new XElement("Name", columns[(int)CsvProductItems.Name]), new XElement("Count", columns[(int)CsvProductItems.Quantity]), new XElement("Price", columns[(int)CsvProductItems.Price]), new XElement("Comment", columns[(int)CsvProductItems.Description]), new XElement("ProductID", columns[(int)CsvProductItems.Id]), new XElement("Type", columns[(int)CsvProductItems.Type]), new XElement("Sales", columns[(int)CsvProductItems.Sales]), new XElement("Publisher", CsvItemStatus.NotAvailable), new XElement("Genre", CsvItemStatus.NotAvailable), new XElement("Year", (int)CsvItemStatus.NotAvailable))); }
private static void AddApi(XContainer parent, ApiEntry api) { var apiElement = new XElement("api", new XAttribute("fingerprint", api.Fingerprint.ToString("N")), new XAttribute("kind", (int)api.Kind), new XAttribute("name", api.Name !)); parent.Add(apiElement); if (api.Parent != null) { apiElement.Add(new XAttribute("parent", api.Parent.Fingerprint.ToString("N"))); } }
public static XElement GetOrAddElement(this XContainer container, XName name) { DebugCheck.NotNull(container); var child = container.Element(name); if (child == null) { child = new XElement(name); container.Add(child); } return(child); }
private void CreateComment(IQuickXmlItem item, XContainer document = null) { var comment = new XComment(item.Value); var parentElement = _elementLookup.LastOrDefault(i => i.Key < item.Depth).Value; if (parentElement != null) { parentElement.Add(comment); } else if (document != null) { document.Add(comment); } }
/// <summary> /// Uses recursion to serialize a complex type /// </summary> /// <param name="objectGraph">The root object graph.</param> /// <param name="property">The current property</param> /// <param name="propertyValue">The current properties value</param> private static void SerializeComplexType(XContainer objectGraph, PropertyInfo property, object propertyValue) { //create new child element XElement nestedType = new XElement(CleanName(property.Name)); //serialize the child elements properties SerializeProperties(property.PropertyType.GetProperties(), propertyValue, nestedType); //add it to the objectGraph if the child has at least one child if (nestedType.HasElements) { objectGraph.Add(nestedType); } }
private static void AddLeadingIndentation(XContainer container, string containerIndent, string oneIndentLevel) { var containerIsSelfClosed = !container.Nodes().Any(); var lastChildText = container.LastNode as XText; if (containerIsSelfClosed || lastChildText == null) { container.Add(new XText(containerIndent + oneIndentLevel)); } else { lastChildText.Value += oneIndentLevel; } }
private static void SortXml(XContainer parent) { var elements = parent.Elements() .OrderBy(e => e.Name.LocalName) .ToArray(); Array.ForEach(elements, e => e.Remove()); foreach (var element in elements) { parent.Add(element); SortXml(element); } }
public static XElement GetOrAddElement(this XContainer parent, XName name) { Contract.Requires <ArgumentNullException>(parent != null); Contract.Requires <ArgumentNullException>(name != null); var element = parent.Element(name); if (element == null) { element = new XElement(name); parent.Add(element); } return(element); }
private static void IndentChildrenElements(this XContainer container, string containerIndent, string oneIndentLevel) { string str = containerIndent + oneIndentLevel; foreach (XElement local1 in container.Elements()) { local1.AddBeforeSelf(new XText(str)); local1.IndentChildrenElements(str + oneIndentLevel, oneIndentLevel); } if (container.Elements().Any <XElement>()) { container.Add(new XText(containerIndent)); } }
public static XElement GetOrAddElement(this XContainer container, XName name) { if (container == null || name == null) { throw new ArgumentNullException(); } var element = container.Element(name); if (element == null) { container.Add(element = new XElement(name)); } return(element); }
public void WriteDetail(XContainer container, Type810Detail[] details) { if (!details.Any()) { return; } var loopElement = new XElement("DetailLoop"); container.Add(loopElement); foreach (var detail in details) { if (!detail.DetailKey.HasValue) { continue; } var element = new XElement("Detail", new XElement("DetailKey", detail.DetailKey), new XElement("HeaderKey", detail.HeaderKey)); element.TryAddElement("AssignedId", detail.AssignedId); element.TryAddElement("ServiceTypeCode", detail.ServiceTypeCode); element.TryAddElement("ServiceType", detail.ServiceType); element.TryAddElement("ServiceClassCode", detail.ServiceClassCode); element.TryAddElement("ServiceClass", detail.ServiceClass); element.TryAddElement("RateClass", detail.RateClass); element.TryAddElement("RateSubClass", detail.RateSubClass); element.TryAddElement("ServicePeriodStartDate", detail.ServicePeriodStartDate); element.TryAddElement("ServicePeriodEndDate", detail.ServicePeriodEndDate); element.TryAddElement("MeterNumber", detail.MeterNumber); element.TryAddElement("BillCycle", detail.BillCycle); element.TryAddElement("GasPoolId", detail.GasPoolId); element.TryAddElement("ServiceAgreement", detail.ServiceAgreement); element.TryAddElement("RateCode", detail.RateCode); element.TryAddElement("SupplierContractID", detail.SupplierContractId); element.TryAddElement("UtilityContractID", detail.UtilityContractId); loopElement.Add(element); logger.TraceFormat("Added 810 \"Detail\" XML element for Header {0}", detail.HeaderKey); var detailItems = exportDataAccess.ListDetailItems(detail.DetailKey.Value); WriteDetailItem(element, detailItems); var detailTaxes = exportDataAccess.ListDetailTaxes(detail.DetailKey.Value); WriteDetailTax(element, detailTaxes); } }
public void WriteName(XContainer container, Type814Name[] names) { var loopElement = new XElement("NameLoop"); container.Add(loopElement); if (names == null || names.Length == 0) { return; } foreach (var name in names) { if (!name.NameKey.HasValue) { continue; } var element = new XElement("Name", new XElement("NameKey", name.NameKey), new XElement("HeaderKey", name.HeaderKey), new XElement("EntityIdType", name.EntityIdType), new XElement("EntityName", name.EntityName)); element.TryAddElement("EntityName2", name.EntityName2); element.TryAddElement("EntityName3", name.EntityName3); element.TryAddElement("EntityDuns", name.EntityDuns); element.TryAddElement("EntityIdCode", name.EntityIdCode); element.TryAddElement("Address1", name.Address1); element.TryAddElement("Address2", name.Address2); element.TryAddElement("City", name.City); element.TryAddElement("State", name.State); element.TryAddElement("PostalCode", name.PostalCode); element.TryAddElement("CountryCode", name.CountryCode); element.TryAddElement("County", name.County); element.TryAddElement("ContactCode", name.ContactCode); element.TryAddElement("ContactName", name.ContactName); element.TryAddElement("ContactPhoneNbr1", name.ContactPhoneNbr1); element.TryAddElement("ContactPhoneNbr2", name.ContactPhoneNbr2); element.TryAddElement("ContactPhoneNbr3", name.ContactPhoneNbr3); element.TryAddElement("EntityFirstName", name.EntityFirstName); element.TryAddElement("EntityLastName", name.EntityLastName); element.TryAddElement("CustType", name.CustType); element.TryAddElement("TaxingDistrict", name.TaxingDistrict); element.TryAddElement("EntityMiddleName", name.EntityMiddleName); loopElement.Add(element); logger.TraceFormat("Added 814 \"Name\" XML element for Header {0}", name.HeaderKey); } }
public static XElement GetOrCreateElement( this XContainer container, string elementName, params XAttribute[] attributes) { DebugCheck.NotNull(container); DebugCheck.NotEmpty(elementName); var element = container.Element(elementName); if (element == null) { element = new XElement(elementName, attributes); container.Add(element); } return(element); }
private static void SaveUsableFromList <T>(XContainer xRoot, string elementName, UsableFromList <T> item) where T : struct, IConvertible { if (!item.Use) { return; } var xElement = new XElement(elementName); xRoot.Add(xElement); xElement.Add(new XElement(UseNode, item.Use)); xElement.Add(new XElement(SelectedNode, item.Selected)); }
private static void SaveMostLeastItem(XContainer xRoot, string elementName, MostLeastItem item) { if (item.IsInDefaultState) { return; } var xElement = new XElement(elementName); xRoot.Add(xElement); xElement.Add(new XElement(MostLeastItemFeatureNode, item.Characteristic.ToString())); xElement.Add(new XElement(MostLeastItemFeatureTypeNode, item.CharacteristicType.ToString())); xElement.Add(new XElement(MostLeastItemNumberOfItemsNode, item.NumberOfItems)); }
private static void IndentChildrenElements(XContainer container, string containerIndent, string oneIndentLevel) { var childIndent = containerIndent + oneIndentLevel; foreach (var element in container.Elements()) { element.AddBeforeSelf(new XText(childIndent)); IndentChildrenElements(element, childIndent + oneIndentLevel, oneIndentLevel); } if (container.Elements().Any()) { container.Add(new XText(containerIndent)); } }
private void AddStoryInNewsSiteMap(HttpContextBase context, XContainer target, IStory story, SiteMapUpdatePriority priority, string dateFormat) { XElement url = CreateEntry(context, Settings.RootUrl, "Detail", new { name = story.UniqueName }, story.LastActivityAt, SiteMapChangeFrequency.Daily, priority, false); string keyWords = story.BelongsTo.Name; if (story.HasTags()) { keyWords += ", " + string.Join(", ", story.Tags.Select(t => t.Name).ToArray()); } url.Add(new XElement(_googleNews + "news", new XElement(_googleNews + "publication_date", story.PublishedAt.Value.ToString(dateFormat, Constants.CurrentCulture)), new XElement(_googleNews + "keywords", keyWords))); target.Add(url); }