public static IXmlElementSyntax InsertChild(this IXmlElementSyntax parent, IXmlElementSyntax child, int index) { if (index == -1) { return(AddChild(parent, child)); } return(parent.WithContent(parent.Content.Insert(index, child.AsNode))); }
internal static string GetParentName(this IXmlElementSyntax xmlElementSyntax) { if (xmlElementSyntax.Parent == null) { return(null); } return(xmlElementSyntax.Parent.NameNode.ToFullString()); }
/// <summary> /// Returns the text content of a element node /// </summary> /// <remarks> /// In addition to the straightforward case /// of an element containing simple text tokens, this /// method also check for embedded CDATA sections /// </remarks> public static string GetContentValue(this IXmlElementSyntax element) { if (element.Content.Count == 1 && element.Content.First() is XmlCDataSectionSyntax cdata) { return(cdata.TextTokens.ToFullString()); } return(element.AsElement.Value); }
/// <summary> /// Return a new <see cref="IXmlElementSyntax"/> instance with /// the supplied string prefix. /// </summary> public static IXmlElementSyntax WithPrefixName(this IXmlElementSyntax element, string prefixName) { var existingName = element.NameNode; var existingPrefix = existingName.PrefixNode; var newName = SyntaxFactory.XmlNameToken(prefixName, null, null); return(element.WithName(existingName.WithPrefix(existingPrefix.WithName(newName)))); }
public static IXmlElementSyntax RemoveChild(this IXmlElementSyntax parent, IXmlElementSyntax child) { return(parent.WithContent(parent.Content.Remove(child.AsNode))); }
public static IXmlElementSyntax AddAttribute(this IXmlElementSyntax self, XmlAttributeSyntax attribute) { return(self.WithAttributes(self.AttributesNode.Add(attribute))); }
public static IXmlElementSyntax AddAttributes(this IXmlElementSyntax self, IEnumerable <XmlAttributeSyntax> attributes) { return(self.WithAttributes(self.AttributesNode.AddRange(attributes))); }
public static IXmlElementSyntax AddAttributes(this IXmlElementSyntax self, params XmlAttributeSyntax[] attributes) { return(self.WithAttributes(self.AttributesNode.AddRange(attributes))); }
public static IEnumerable <IXmlElementSyntax> Descendants(this IXmlElementSyntax element) { return(element.AsNode.Descendants()); }
public static IEnumerable <IXmlElementSyntax> Ancestors(this IXmlElementSyntax element) { return(element.AsNode.Ancestors()); }
internal static bool HasParent(this IXmlElementSyntax xmlElementSyntax) { return(xmlElementSyntax.Parent != null); }
internal static bool IsLastElement(this IXmlElementSyntax xmlElementSyntax) { return(xmlElementSyntax.Elements.Count() == 0); }
internal static IEnumerable <string> GetElementsName(this IXmlElementSyntax xmlElementSyntax) { return(xmlElementSyntax.Parent.Elements.Select(x => x.NameNode.FullName)); }
internal static string GetContent(this IXmlElementSyntax xmlElementSyntax) { return(xmlElementSyntax.Content.ToFullString()); }
internal static string GetName(this IXmlElementSyntax xmlElementSyntax) { return(xmlElementSyntax.NameNode.ToFullString()); }