Microsoft.Xades.SigPolicyQualifiers.LoadXml C# (CSharp) Method

LoadXml() public method

Load state from an XML element
public LoadXml ( System xmlElement ) : void
xmlElement System XML element containing new state
return void
		public void LoadXml(System.Xml.XmlElement xmlElement)
		{
			XmlNamespaceManager xmlNamespaceManager;
			XmlNodeList xmlNodeList;
			SPUri newSPUri;
			SPUserNotice newSPUserNotice;
			SigPolicyQualifier newSigPolicyQualifier;
			IEnumerator enumerator;
			XmlElement iterationXmlElement;
			XmlElement subElement;
			
			if (xmlElement == null)
			{
				throw new ArgumentNullException("xmlElement");
			}

			xmlNamespaceManager = new XmlNamespaceManager(xmlElement.OwnerDocument.NameTable);
			xmlNamespaceManager.AddNamespace("xsd", XadesSignedXml.XadesNamespaceUri);

			this.sigPolicyQualifierCollection.Clear();
			xmlNodeList = xmlElement.SelectNodes("xsd:SigPolicyQualifier", xmlNamespaceManager);
			enumerator = xmlNodeList.GetEnumerator();
			try 
			{
				while (enumerator.MoveNext()) 
				{
					iterationXmlElement = enumerator.Current as XmlElement;
					if (iterationXmlElement != null)
					{
						subElement = (XmlElement)iterationXmlElement.SelectSingleNode("xsd:SPURI", xmlNamespaceManager);
						if (subElement != null)
						{
							newSPUri = new SPUri();
							newSPUri.LoadXml(iterationXmlElement);
							this.sigPolicyQualifierCollection.Add(newSPUri);
						}
						else
						{
							subElement = (XmlElement)iterationXmlElement.SelectSingleNode("xsd:SPUserNotice", xmlNamespaceManager);
							if (subElement != null)
							{
								newSPUserNotice = new SPUserNotice();
								newSPUserNotice.LoadXml(iterationXmlElement);
								this.sigPolicyQualifierCollection.Add(newSPUserNotice);
							}
							else
							{
								newSigPolicyQualifier = new SigPolicyQualifier();
								newSigPolicyQualifier.LoadXml(iterationXmlElement);
								this.sigPolicyQualifierCollection.Add(newSigPolicyQualifier);
							}
						}
					}
				}
			}
			finally 
			{
				IDisposable disposable = enumerator as IDisposable;
				if (disposable != null)
				{
					disposable.Dispose();
				}
			}
		}