2010-11-25 3 views
1

** hmm mabye j'ai demandé un peu étrange. Comment puis-je obtenir tous les enfants de type "Titre".XML et linq question de trouver l'enfant du père

Il y a beaucoup d'enfants de type "Titre"

Comme:

- <BiblioDiv> 
    <Title>**</Title> 

- <BiblioDiv> 
    <BiblioAsk> 
    <Title>***</Title> 

- <BiblioEntry> 
    <BiblioDiv> 
    <Title>**</Title> 

J'ai juste besoin d'obtenir tous "Titre". Puis-je obtenir ceci avec linq et sans toutes les boucles? J'essaie avec XElement becouse est alors facile de travailler avec.

Avec XElement je peux utiliser:

XmlDocument doc = new XmlDocument(); 
doc.LoadXml(xml); 

XmlNodeList nodeList = doc.GetElementsByTagName("Title"); 

Comment puis-je utiliser avec XElement

+0

Vous pouvez utiliser xpath pour localiser l'élément. Un échantillon du XML peut-être? –

Répondre

1

S'il existe toujours:

root.Element("BiblioDiv").Element("Title") 

Sinon:

root.XPathSelectElement("BiblioDiv/Title") 

exceptions évite de référence null.

1

voulez-vous dire:

var child = element.Element("Title"); 

ou:

var child = elements.Elements("BiblioDiv").First().Element("Title"); 

?

1

Vous pouvez utiliser element.Elements (XName.Get ("Title")) pour accéder uniquement aux éléments enfants avec le nom spécifié.

+1

'element.Elements (" Title ")' est probablement plus facile dans ce scénario –