2017-02-24 1 views
0

Ich möchte in eine Liste zwei verschiedene Arten von XML-Elementen Deserialize als ich den AuftragDeserialize verschiedene Arten von Elementen in einer Liste von XmlElement in C#

<Step name="Login to Account" > 
    <Action name="LoginToWebsite" type="Login" /> 
    <NewAction name="EnterTextInTextBox" type="SendKeysToTextBox" extraAttribute="Testvalue" /> 
</Step> 

zur Zeit bewahren wollen Ich verwende die folgenden bekommen die beiden Aktionen in eine Liste, aber ich habe für die zweiten

[XmlRoot(ElementName = "Step")] 
public class WorkflowStep 
{  
    [XmlAnyElement("Action")] 
    public XmlElement[] Actions 
    { 
     get; 
     set; 
    } 
} 

die Elementnamen zu NewAction (wie oben) anstelle von Aktion zu ändern, wie der XmlAnyElement auf „Aktion“ Elementname gebunden ist, wie kann ich ändern um zwei verschiedene Elementnamen zu unterstützen, muss aber Deseri sein alized in einem Array

Antwort

1

Was Sie wollen, ist

[XmlRoot(ElementName = "Step")] 
public class WorkflowStep 
{ 
    [XmlAnyElement("Action")] 
    [XmlAnyElement("NewAction")] 
    public XmlElement[] Actions 
    { 
     get; 
     set; 
    } 
} 
Verwandte Themen