2010-09-17 4 views
0

Я пытаюсь получить и последующие и предыдущие элементы текущего элементаКак получить следующий и предыдущий узел

Вот 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> 

текущий узел является вкладка с

test3

вот код, я использую

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 

ответ

2

Как об этом:

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

Единственная проблема с этим это комментарии и другие вещи, которые являются узлы будут возвращаться, но, основываясь на вашем XML это будет по-прежнему работать для вас.

Смежные вопросы