Angesichts dieser xml:
<?xml version="1.0" encoding="utf-8"?>
<EntityDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<components>
<component xsi:type="TypeA">
<Property1>100</Property1>
</component>
<component xsi:type="TypeB">
<Property2>100</Property2>
</component>
</components>
</EntityDefinition>
Ich möchte eine Schleife über die Komponenten laufen lassen und jedes Objekt auf der Grundlage des xsi:type-Attributs instanziieren.
Hier ist etwas Linq zu XML Code:
IEnumerable<XElement> components =
from c in elementsFromFile.Descendants("component")
select (XElement)c;
foreach (XElement e in components)
{
var type = e.Attributes("xsi:type");
}
Leider funktioniert die Zeile "var type = e.Attributes("xsi:type");" nicht, da Doppelpunkte in einem Namen nicht zulässig sind.
Irgendeine Idee, wie ich das xsi:type-Attribut von jedem Element abfragen kann?
Ich danke Ihnen,
Rick