public static XElement WithoutNamespaces(this XElement element) { if (element == null) return null; #region delegates: FuncgetChildNode = e => (e.NodeType == XmlNodeType.Element) ? (e as XElement).WithoutNamespaces() : e; Func > getAttributes = e => (e.HasAttributes) ? e.Attributes() .Where(a => !a.IsNamespaceDeclaration) .Select(a => new XAttribute(a.Name.LocalName, a.Value)) : Enumerable.Empty (); #endregion return new XElement(element.Name.LocalName, element.Nodes().Select(getChildNode), getAttributes(element)); }
调用
var xDoc = XDocument.Parse(xml); var xRoot = xDoc.Root.WithoutNamespaces();
posted on 2018-03-21 08:35 阅读( ...) 评论( ...)