/// <summary> /// add all attributes from XML to element extensionAttributes (except blackListed). /// </summary> /// <param name="xtr"> </param> /// <param name="element"> </param> /// <param name="blackLists"> </param> public static void AddCustomAttributes(XMLStreamReader xtr, BaseElement element, params IList <ExtensionAttribute>[] blackLists) { foreach (var attr in xtr.element.Attributes()) { ExtensionAttribute extensionAttribute = new ExtensionAttribute { Name = attr.Name.LocalName, Value = attr.Value }; if (!string.IsNullOrWhiteSpace(attr.Name.NamespaceName)) { extensionAttribute.Namespace = attr.Name.NamespaceName; } if (!string.IsNullOrWhiteSpace(xtr.element.GetPrefixOfNamespace(attr.Name.Namespace))) { extensionAttribute.NamespacePrefix = xtr.element.GetPrefixOfNamespace(attr.Name.Namespace); } if (!IsBlacklisted(extensionAttribute, blackLists)) { element.AddAttribute(extensionAttribute); } } }