CreateAttribute() public method

public CreateAttribute ( string prefix, string localName, string namespaceURI, string value ) : void
prefix string
localName string
namespaceURI string
value string
return void
Example #1
0
 public static void SetOrCreateXmlAttribute(XPathNavigator node, string localName, string namespaceURI, string value)
 {
     if (node.MoveToAttribute(localName, namespaceURI))
     {
         node.SetValue(value);
         node.MoveToParent();
     }
     else
     {
         node.CreateAttribute("", localName, namespaceURI, value);
     }
 }
Example #2
0
		public void SetXmlType(string name, string namespaceUri, XPathNavigator source)
		{
			namespaceUri = GetEffectiveNamespace(namespaceUri);
			var prefix = CreateNamespace(null, namespaceUri, source);
			source.CreateAttribute("xsi", "type", Xsi, GetQualifiedName(prefix, name));
		}
Example #3
0
		public XPathNavigator CreateAttribute(string name, string namespaceUri, XPathNavigator source)
		{
			source.CreateAttribute(null, name, namespaceUri, "");
			source.MoveToAttribute(name, namespaceUri ?? "");
			return source;
		}
Example #4
0
		public string CreateNamespace(string prefix, string namespaceUri, XPathNavigator source)
		{
			if (string.IsNullOrEmpty(namespaceUri) == false)
			{
				source = source.Clone();
				source.MoveToRoot();
				source.MoveToChild(XPathNodeType.Element);

				if (string.IsNullOrEmpty(prefix))
					prefix = AddNamespace(namespaceUri);

				var existing = source.GetNamespace(prefix);
				if (existing == namespaceUri) return prefix;
				if (string.IsNullOrEmpty(existing) == false) return null;

				source.CreateAttribute("xmlns", prefix, "", namespaceUri);
			}
			return prefix;
		}
        private static void NormalizeNamespaces(XPathNavigator src, XPathNavigator dest) {
            IDictionary<string, string> dictLocal = src.GetNamespacesInScope(XmlNamespaceScope.ExcludeXml);
            IDictionary<string, string> dictExclude = dest.GetNamespacesInScope(XmlNamespaceScope.Local);

            foreach(KeyValuePair<string, string> pair in dictLocal)
                if(!dictExclude.ContainsKey(pair.Key))
                    dest.CreateAttribute("xmlns", pair.Key, "http://www.w3.org/2000/xmlns/", pair.Value);
        }
Example #6
0
		public bool MakeNil(XPathNavigator source)
		{
			if (source.NodeType == XPathNodeType.Element && IsNil(source) == false)
			{
				source.CreateAttribute("xsi", "nil", Xsi, "true");
				return true;
			}
			return false;
		}
Example #7
0
		public XPathNavigator CreateAttribute(string name, string namespaceUri, XPathNavigator source)
		{
			name = XmlConvert.EncodeLocalName(name);
			source.CreateAttribute(null, name, namespaceUri, "");
			source.MoveToAttribute(name, namespaceUri ?? "");
			return source;
		}
Example #8
0
		public bool MakeNil(XPathNavigator source)
		{
			if (source.NodeType == XPathNodeType.Element && IsNil(source) == false)
			{
				if (source.LookupPrefix(Xsi) != "xsi")
					CreateNamespace("xsi", Xsi, source);
				source.CreateAttribute("xsi", "nil", Xsi, "true");
				return true;
			}
			return false;
		}
Example #9
0
		public XPathNavigator CreateAttribute(string name, string namespaceUri, XPathNavigator source)
		{
			string prefix;
			name = XmlConvert.EncodeLocalName(name);
			if (IsRootNamespace(namespaceUri, out prefix))
				prefix = CreateNamespace(prefix, namespaceUri, source);
			source.CreateAttribute(prefix, name, namespaceUri, "");
			source.MoveToAttribute(name, namespaceUri ?? "");
			return source;
		}
Example #10
0
        public static bool SetXmlStringAttributeValue(XPathNavigator parentNode, string valueName, string newValue)
        {
            if (parentNode == null || string.IsNullOrEmpty(valueName))
            {
                return false;
            }
            try
            {
                XPathNavigator factory = parentNode.Clone();
                do
                {
                    factory.MoveToFirstAttribute();

                    if (string.Compare(factory.Name, valueName) == 0)
                    {
                        factory.SetValue(newValue);
                        return true;
                    }
                }
                while (!factory.MoveToNextAttribute());

                parentNode.CreateAttribute(string.Empty,
                                           valueName,
                                           string.Empty,
                                           newValue);
                return true;
            }
            catch (ArgumentNullException)
            {
            }
            catch (InvalidOperationException)
            {
            }
            return false;
        }