2010-09-17 7 views
0

Je suis en train d'obtenir les deux éléments suivants et précédents de l'élément courantComment obtenir le nœud suivant et précédent

Voici le xml

<template id="9"> 
    <tabs> 
    <tab> 
     <name>test</name> 
     <description /> 
    </tab> 
    <tab> 
     <name>test3</name> 
     <description /> 
    </tab> 
    <tab> 
     <name>test7</name> 
     <description /> 
    </tab> 
    </tabs> 
    <tabs /> 
    <tabs /> 
</template> 

Le nœud actuel est l'onglet avec

test3

ici est le code que je utilise

var doc = XDocument.Parse(q.XMLtext); 
var tabs = doc.ElementOrDefault("template").ElementOrDefault("tabs").Elements(); 
var Current = doc.ElementOrDefault("template") 
    .ElementOrDefault("tabs") 
    .ElementsOrDefault("tab") 
    .ElementsOrDefault("name") 
    .Where(x => x.Value == name); 
//get the next and previous nodes here 

Répondre

2

Que diriez-vous ceci:

var previous = Current.PreviousNode; 
var next = Current.NextNode; 

Le seul problème avec ce qu'il est retourne des commentaires et d'autres choses qui sont des nœuds, mais en fonction de votre XML cela fonctionne toujours pour vous.

Questions connexes