Je tente d'interroger un document XML et de renvoyer un nombre stocké dans une balise COUNT à l'intérieur d'une balise METEDATA. Le problème est que j'ai de la difficulté à accéder à la propriété strCount pour l'utiliser dans le programme. Ive considéré en boucle à travers le IEnumerable, mais espérait être en mesure d'accéder à la valeur de manière plus propre. Telles que return countQ.strCount notre countQ ["strCount"]. Je sais que ceux-ci ne fonctionnent pas dans ce cas mais voulaient illustrer le désir d'utiliser le nom de la propriété que je veux la valeur par opposition à l'indexation ou à une boucle.Accès à des propriétés spécifiques dans IEnumerable
CODE
Private XDocument doc = XDocument.Load(path);
public class entityCount
{
public string strCount { get; set; }
}
public IEnumerable<entityCount> queryCount(){
var countQ = this.doc.Descendants("METADATA") .Select(m => new entityCount {
strCount = m.Element("COUNT").Value
});
return countQ.....?;
}
XML ABRÉGÉ
<PRODUCTION_SET>
<METADATA>
<COUNT>322</COUNT>
</METADATA>
<ENTITY>
<METADATA>
<ID>1</ID>
<foo>x</foo>
<bar>y</bar>
</METADATA>
</ENTITY>
.
.
.
.
.
<ENTITY>
<METADATA>
<ID>322</ID>
<foo>x</foo>
<bar>y</bar>
</METADATA>
</ENTITY>
</PRODUCTION_SET>
Cela renvoie une erreur de type. « Ne peut pas implicitement;?. Y Type de concert namespace.enitiyCount à System.Collection.Generic.IEnumerabl manquants un casting –
LCaraway
Oui, désolé, je l'ai changé pour revenir entityCount au lieu de IEnumerable Est-ce ce que vous » Alors, vous pouvez l'utiliser de cette façon: 'queryCount(). strCount' – Neme
Oh juste vu ça! J'aime comment c'est propre! – LCaraway