Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

FileIOPermission.FromXml Method

Reconstructs a permission with a specified state from an XML encoding.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

public override void FromXml (
	SecurityElement esd
)
public void FromXml (
	SecurityElement esd
)
public override function FromXml (
	esd : SecurityElement
)
Not applicable.

Parameters

esd

The XML encoding used to reconstruct the permission.

Exception typeCondition

ArgumentNullException

The esd parameter is a null reference (Nothing in Visual Basic).

ArgumentException

The esd parameter is not a valid permission element.

-or-

The esd parameter's version number is not compatible.

The following code example shows the behavior of the FromXml method. This example is part of a larger example provided for the FileIOPermission class.

NoteNote:

The code example is intended to show the behavior of the method, not to demonstrate its use. In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.

private bool ToFromXmlDemo()
{

    bool returnValue = true;

    string fileIO1;
    FileIOPermission fileIOPerm1, fileIOPerm2;

    FileIOGenerator fileIOGen1 = new FileIOGenerator();
    FileIOGenerator fileIOGen2 = new FileIOGenerator();

    fileIOGen1.ResetIndex();
    while (fileIOGen1.CreateFilePath( out fileIO1 ))
    {
        if (fileIO1 == "")
            fileIOPerm1 = new FileIOPermission(PermissionState.None);
        else
            fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.Read, fileIO1);

        Console.WriteLine("********************************************************\n");
        fileIOGen2.ResetIndex();
        try
        {
            fileIOPerm2 = new FileIOPermission(PermissionState.None);
            fileIOPerm2.FromXml(fileIOPerm1.ToXml());
            Console.WriteLine("Result of ToFromXml = " + fileIOPerm2.ToString() + "\n");

        }
        catch (Exception e)
        {
            Console.WriteLine("ToFromXml failed :" + fileIOPerm1.ToString() + e);
            continue;
        }
    }

    return returnValue;

}

// ToXml creates an XML encoding of the permission and its current state;
// FromXml reconstructs a permission with the specified state from the XML
// encoding.
private boolean ToFromXmlDemo() 
{
    boolean returnValue = true;
    String fileIO1[] = new String[1];
    FileIOPermission fileIOPerm1[] = new FileIOPermission[1];
    FileIOPermission fileIOPerm2[] = new FileIOPermission[1];

    FileIOGenerator fileIOGen1 =  new FileIOGenerator();
    FileIOGenerator fileIOGen2 =  new FileIOGenerator();
    
    fileIOGen1.ResetIndex();
    while(fileIOGen1.CreateFilePath(fileIOPerm1, fileIO1, 
        FileIOPermissionAccess.Read)) {
        if (fileIOPerm1[0] == null) {
            continue ;
        }
        Console.WriteLine("**********************************" 
            + "**********************\n");
        fileIOGen2.ResetIndex();
        try {
            fileIOPerm2[0] = new FileIOPermission(PermissionState.None);
            fileIOPerm2[0].FromXml(fileIOPerm1[0].ToXml());
            Console.WriteLine(("Result of ToFromXml = " 
                + fileIOPerm2[0].ToString() + "\n"));
        } 
        catch(System.Exception  e) {
            Console.WriteLine(("ToFromXml failed :" 
                + fileIOPerm1[0].ToString() + e));
            continue ;
        }
    }
    return returnValue ;
} //ToFromXmlDemo    

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.