This documentation is archived and is not being maintained.

DnsPermission.ToXml Method

Creates an XML encoding of a DnsPermission instance and its current state.

[Visual Basic]
Overrides Public Function ToXml() As SecurityElement Implements _
   ISecurityEncodable.ToXml
[C#]
public override SecurityElement ToXml();
[C++]
public: SecurityElement* ToXml();
[JScript]
public override function ToXml() : SecurityElement;

Return Value

A SecurityElement instance containing an XML-encoded representation of the security object, including state information.

Implements

ISecurityEncodable.ToXml

Remarks

The ToXml method creates a SecurityElement instance to XML-encode a representation of the DnsPermission instance, including state information.

Use FromXml method to restore the state information from a SecurityElement instance.

Example

[Visual Basic, C#, C++] The following example creates an XML encoding of a DnsPermission instance.

[Visual Basic] 
Public Sub useDns()
    ' Create a DnsPermission instance.
    Dim permission As New DnsPermission(PermissionState.Unrestricted)
    
    ' Check for permission.
    permission.Demand()
    ' Create a SecurityElement object to hold XML encoding of the DnsPermission instance.
    Dim securityElementObj As SecurityElement = permission.ToXml()
    Console.WriteLine("Tag, Attributes and Values of 'DnsPermission' instance :")
    Console.WriteLine((ControlChars.Cr + ControlChars.Tab + "Tag :" + securityElementObj.Tag))
    ' Print the attributes and values.
    PrintKeysAndValues(securityElementObj.Attributes)
End Sub 'useDns

Private Sub PrintKeysAndValues(myList As Hashtable)
    ' Get the enumerator that can iterate through the hash table.
    Dim myEnumerator As IDictionaryEnumerator = myList.GetEnumerator()
    Console.WriteLine(ControlChars.Cr + ControlChars.Tab + "-KEY-" + ControlChars.Tab + "-VALUE-")
    While myEnumerator.MoveNext()
        Console.WriteLine(ControlChars.Tab + "{0}:" + ControlChars.Tab + "{1}", myEnumerator.Key, myEnumerator.Value)
    End While
    Console.WriteLine()
End Sub 'PrintKeysAndValues

[C#] 
public void useDns() {

   // Create a DnsPermission instance.
   DnsPermission permission = new DnsPermission(PermissionState.Unrestricted);

   // Check for permission.
   permission.Demand();
   // Create a SecurityElement object to hold XML encoding of the DnsPermission instance.
   SecurityElement securityElementObj = permission.ToXml();    
   Console.WriteLine("Tag, Attributes and Values of 'DnsPermission' instance :");
   Console.WriteLine("\n\tTag :" + securityElementObj.Tag);
   // Print the attributes and values.
   PrintKeysAndValues(securityElementObj.Attributes);
}

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

[C++] 
public:
   void useDns()
   {
      // Create a DnsPermission instance.
      DnsPermission* permission = new DnsPermission(PermissionState::Unrestricted);

      // Check for permission.
      permission->Demand();
      // Create a SecurityElement Object* to hold XML encoding of the DnsPermission instance.
      SecurityElement*  securityElementObj = permission->ToXml();
      Console::WriteLine(S"Tag, Attributes and Values of 'DnsPermission' instance :");
      Console::WriteLine(S"\n\tTag : {0}", securityElementObj->Tag);
      // Print the attributes and values.
      PrintKeysAndValues(securityElementObj->Attributes);
   }

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

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Common Language Infrastructure (CLI) Standard

See Also

DnsPermission Class | DnsPermission Members | System.Net Namespace

Show: