Ich habe diese xml von unserem Lieferanten (ein Auszug):C# - XML vom Hersteller hat mehrere Elementnamen für das gleiche Objekt. Wie man sie in das gleiche Objekt serialisiert?
<Roles xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:immutable="http://www.digitalmeasures.com/schema/immutable">
<immutable:Role roleKey="INDIVIDUAL-ACTIVITIES-University-DataBackupService" text="Data Backup Service">
<Item xlink:type="simple" xlink:href="/login/service/v4/Role/INDIVIDUAL-ACTIVITIES-University-DataBackupService"/>
<Users xlink:type="simple" xlink:href="/login/service/v4/RoleUser/INDIVIDUAL-ACTIVITIES-University-DataBackupService"/>
</immutable:Role>
<Role roleKey="INDIVIDUAL-ACTIVITIES-University-DepartmentUpdatePrimaryAssignmentOrg" text="Department: Update Primary Assignment Org">
<Item xlink:type="simple" xlink:href="/login/service/v4/Role/INDIVIDUAL-ACTIVITIES-University-DepartmentUpdatePrimaryAssignmentOrg"/>
<Users xlink:type="simple" xlink:href="/login/service/v4/RoleUser/INDIVIDUAL-ACTIVITIES-University-DepartmentUpdatePrimaryAssignmentOrg"/>
</Role>
</Roles>
Ich habe diese Klassen in meinem C# -Code ein:
public class Role
{
[XmlAttribute]
public string roleKey { get; set; }
[XmlAttribute]
public string text { get; set; }
[XmlAttribute]
public string Item { get; set; }
[XmlAttribute]
public string Users { get; set; }
}
//Class to hold our array of <DailyStat>
[Serializable]
[XmlRootAttribute("Roles")]
//[XmlRootAttribute("immutable:Roles")]
public class Roles
{
[XmlElement("Role")]
public Role[] thisRole { get; set; }
}
Die xml ich vom Lieferanten erhalten (über einen Web Service), hat 20 Elemente, die als Role und 6 als unveränderlich markiert sind: Role. Wenn ich meinen Code ausführe, sehe ich nur die 20 Role-Items, aber ich möchte alle 26 Items. Wie kann ich sie kaufen?
Haben Sie versucht, das XML zu kopieren, gehen Sie zu Visual Studio: Bearbeiten -> Inhalte einfügen -> XML als Klassen einfügen. Und versuchen Sie, sie damit zu deserialisieren? –
Nein. Ich wusste nichts davon. Ich werde es versuchen. –
Ich habe das spezielle einfügen und jetzt bekomme ich Mehrdeutigkeitsfehler. Ich werde durchwühlen und sehen, ob ich sie lösen kann. –