Headless.XPathNavigableExtensions.SetAttribute C# (CSharp) Method

SetAttribute() private method

private SetAttribute ( this navigable, string prefix, string localName, string namespaceUri, string value ) : void
navigable this
prefix string
localName string
namespaceUri string
value string
return void
        public static void SetAttribute(
            this IXPathNavigable navigable, 
            string prefix, 
            string localName, 
            string namespaceUri, 
            string value)
        {
            var navigator = GetNavigator(navigable);

            if (navigator.CanEdit == false)
            {
                throw new InvalidOperationException(Resources.XPathNavigator_EditNotAllowed);
            }

            // Check if given localName exist
            if (navigator.MoveToAttribute(localName, namespaceUri))
            {
                // Exist, so set current attribute with new value.
                navigator.SetValue(value);

                // Move navigator back to beginning of node
                navigator.MoveToParent();
            }
            else
            {
                // Does not exist, create the new attribute
                navigator.CreateAttribute(prefix, localName, namespaceUri, value);
            }
        }