Edit

Share via


GacMembershipCondition.FromXml Method

Definition

Uses the specified XML encoding to reconstruct a security object.

Overloads

FromXml(SecurityElement)

Uses the specified XML encoding to reconstruct a security object.

FromXml(SecurityElement, PolicyLevel)

Uses the specified XML encoding to reconstruct a security object, using the specified policy level context.

FromXml(SecurityElement)

Source:
GacMembershipCondition.cs
Source:
GacMembershipCondition.cs
Source:
GacMembershipCondition.cs

Uses the specified XML encoding to reconstruct a security object.

public:
 virtual void FromXml(System::Security::SecurityElement ^ e);
public void FromXml (System.Security.SecurityElement e);
abstract member FromXml : System.Security.SecurityElement -> unit
override this.FromXml : System.Security.SecurityElement -> unit
Public Sub FromXml (e As SecurityElement)

Parameters

e
SecurityElement

The SecurityElement that contains the XML encoding to use to reconstruct the security object.

Implements

Exceptions

e is not a valid membership condition element.

Examples

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

GacMembershipCondition ^ Gac1 = gcnew GacMembershipCondition;
GacMembershipCondition ^ Gac2 = gcnew GacMembershipCondition;

// Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2->FromXml(Gac1->ToXml());
bool result = Gac2->Equals(Gac1);
if (result)
{
    Console::WriteLine("Result of ToXml() = {0}", Gac2->ToXml());
    Console::WriteLine(
        "Result of ToFromXml roundtrip = {0}", Gac2);
}
else
{
    Console::WriteLine(Gac2->ToString());
    Console::WriteLine(Gac1->ToString());
    return false;
}
GacMembershipCondition Gac1 = new GacMembershipCondition();
GacMembershipCondition Gac2 = new GacMembershipCondition();

// Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2.FromXml(Gac1.ToXml());
bool result = Gac2.Equals(Gac1);
if (result)
{
    Console.WriteLine(
        "Result of ToXml() = " + Gac2.ToXml().ToString());
    Console.WriteLine(
        "Result of ToFromXml roundtrip = " + Gac2.ToString());
}
else
{
    Console.WriteLine(Gac2.ToString());
    Console.WriteLine(Gac1.ToString());
    return false;
}
Dim Gac1 As New GacMembershipCondition
Dim Gac2 As New GacMembershipCondition

' Roundtrip a GacMembershipCondition to and from an XML encoding.
Gac2.FromXml(Gac1.ToXml())
Dim result As Boolean = Gac2.Equals(Gac1)
If result Then
    Console.WriteLine(("Result of ToXml() = " & _ 
        Gac2.ToXml().ToString()))
    Console.WriteLine(("Result of ToFromXml roundtrip = " & _ 
        Gac2.ToString()))
Else
    Console.WriteLine(Gac2.ToString())
    Console.WriteLine(Gac1.ToString())
    Return False
End If

Remarks

The FromXml method reconstructs a GacMembershipCondition from an XML encoding defined by the SecurityElement class. Use the ToXml method to XML-encode the GacMembershipCondition including state information.

Applies to

FromXml(SecurityElement, PolicyLevel)

Source:
GacMembershipCondition.cs
Source:
GacMembershipCondition.cs
Source:
GacMembershipCondition.cs

Uses the specified XML encoding to reconstruct a security object, using the specified policy level context.

public:
 virtual void FromXml(System::Security::SecurityElement ^ e, System::Security::Policy::PolicyLevel ^ level);
public void FromXml (System.Security.SecurityElement e, System.Security.Policy.PolicyLevel level);
abstract member FromXml : System.Security.SecurityElement * System.Security.Policy.PolicyLevel -> unit
override this.FromXml : System.Security.SecurityElement * System.Security.Policy.PolicyLevel -> unit
Public Sub FromXml (e As SecurityElement, level As PolicyLevel)

Parameters

e
SecurityElement

The SecurityElement that contains the XML encoding to use to reconstruct the security object.

level
PolicyLevel

The PolicyLevel context for resolving NamedPermissionSet references.

Implements

Exceptions

e is not a valid membership condition element.

Examples

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

GacMembershipCondition ^ Gac3 = gcnew GacMembershipCondition;
GacMembershipCondition ^ Gac4 = gcnew GacMembershipCondition;
IEnumerator^ policyEnumerator = SecurityManager::PolicyHierarchy();
while (policyEnumerator->MoveNext())
{
    PolicyLevel^ currentLevel = 
        dynamic_cast<PolicyLevel^>(policyEnumerator->Current);
    if (currentLevel->Label->Equals("Machine"))
    {
        Console::WriteLine("Result of ToXml(level) = {0}", 
            Gac3->ToXml(currentLevel));
        Gac4->FromXml(Gac3->ToXml(), currentLevel);
        Console::WriteLine(
            "Result of FromXml(element, level) = {0}", Gac4);
    }
}
GacMembershipCondition Gac3 = new GacMembershipCondition();
GacMembershipCondition Gac4 = new GacMembershipCondition();
IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy();
while (policyEnumerator.MoveNext())
{
    PolicyLevel currentLevel = 
        (PolicyLevel)policyEnumerator.Current;
    if (currentLevel.Label == "Machine")
    {
        Console.WriteLine("Result of ToXml(level) = " + 
            Gac3.ToXml(currentLevel));
        Gac4.FromXml(Gac3.ToXml(), currentLevel);
        Console.WriteLine("Result of FromXml(element, level) = " + 
            Gac4.ToString());
    }
}
Dim Gac3 As New GacMembershipCondition
Dim Gac4 As New GacMembershipCondition
Dim policyEnumerator As IEnumerator = _
    SecurityManager.PolicyHierarchy()
While policyEnumerator.MoveNext()
    Dim currentLevel As PolicyLevel = _
        CType(policyEnumerator.Current, PolicyLevel)
    If currentLevel.Label = "Machine" Then
        Console.WriteLine(("Result of ToXml(level) = " & _
            Gac3.ToXml(currentLevel).ToString()))
        Gac4.FromXml(Gac3.ToXml(), currentLevel)
        Console.WriteLine(("Result of FromXml(element, level) = " _
            & Gac4.ToString()))
    End If
End While

Remarks

The policy level context is provided for resolution of named permission set references. For example, code groups use policy level to find named permission sets.

Applies to