Donné ce xml:Comment interroger xsi: type d'un attribut utilisant Linq en 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>
Je voudrais faire une boucle sur les composants et instancier chaque objet en fonction de l'attribut xsi: type.
Voici quelques Linq au code XML:
IEnumerable<XElement> components =
from c in elementsFromFile.Descendants("component")
select (XElement)c;
foreach (XElement e in components)
{
var type = e.Attributes("xsi:type");
}
Malheureusement, la ligne « var type = e.Attributes ("xsi: type"), » ne fonctionne pas parce que les deux points ne sont pas autorisés dans un nom.
Une idée sur la façon dont je peux interroger l'attribut xsi: type de chaque élément?
Merci,
Rick
Bingo. Je vous remercie. – RickB
Cela fonctionne-t-il dans .net framework 3.5? –