DnsPermission.FromXml(SecurityElement) Method

Definition

Reconstructs a DnsPermission instance from an XML encoding.

C#
public override void FromXml(System.Security.SecurityElement securityElement);

Parameters

securityElement
SecurityElement

The XML encoding to use to reconstruct the DnsPermission instance.

Exceptions

securityElement is null.

securityElement is not a DnsPermission element.

Examples

The following example reconstructs a DnsPermission instance from an XML encoding.

C#
public void ConstructDnsPermission() {
  try
  {
    // Create a DnsPermission instance.
    DnsPermission permission = new DnsPermission(PermissionState.None);
    // Create a SecurityElement instance by calling the ToXml method on the
    // DnsPermission instance.
    // Print its attributes, which hold the  XML encoding of the DnsPermission
    // instance.
    Console.WriteLine("Attributes and Values of 'DnsPermission' instance :");
    PrintKeysAndValues(permission.ToXml().Attributes);

    // Create a SecurityElement instance.
    SecurityElement securityElementObj = new SecurityElement("IPermission");
    // Add attributes and values of the SecurityElement instance corresponding to
    // the permission instance.
    securityElementObj.AddAttribute("version", "1");
    securityElementObj.AddAttribute("Unrestricted", "true");
    securityElementObj.AddAttribute("class","System.Net.DnsPermission");

    // Reconstruct a DnsPermission instance from an XML encoding.
      DnsPermission permission1 = new DnsPermission(PermissionState.None);
    permission1.FromXml(securityElementObj);

    // Print the attributes and values of the constructed DnsPermission object.
    Console.WriteLine("After reconstruction Attributes and Values of new DnsPermission instance :");
    PrintKeysAndValues(permission1.ToXml().Attributes);
  }
  catch(NullReferenceException e)
  {
    Console.WriteLine("NullReferenceException caught!!!");
    Console.WriteLine("Source : " + e.Source);
    Console.WriteLine("Message : " + e.Message);
  }
  catch(SecurityException e)
  {
    Console.WriteLine("SecurityException caught!!!");
    Console.WriteLine("Source : " + e.Source);
    Console.WriteLine("Message : " + e.Message);
  }
  catch(ArgumentNullException e)
  {
    Console.WriteLine("ArgumentNullException caught!!!");
    Console.WriteLine("Source : " + e.Source);
    Console.WriteLine("Message : " + e.Message);
  }
  catch(Exception e)
  {
    Console.WriteLine("Exception caught!!!");
    Console.WriteLine("Source : " + e.Source);
    Console.WriteLine("Message : " + e.Message);
  }
}

private void PrintKeysAndValues(Hashtable myList) {
   // Get the enumerator that can iterate through the hash table.
   IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
   Console.WriteLine("\t-KEY-\t-VALUE-");
   while (myEnumerator.MoveNext())
      Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value);
      Console.WriteLine();
}

Remarks

The FromXml method reconstructs a DnsPermission instance from an XML encoding defined by the SecurityElement class.

Use the ToXml method to XML-encode the DnsPermission instance, including state information.

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also