2013-05-19 1 views
-3

Рассмотрим вы иметь следующую структуру XML:Как получить обращаться к конкретному XElement

<root> 
    <File> a.txt 
     <Version> 1.5 </Version> 
    </File> 

    <File> b.txt 
     <Version> 1.0 </Version> 
    </File> 
</root> 

Как я могу получить дескриптор XElement: <Version> 1.0 </Version> при поиске? Я знаю, что могу найти по тегу функцию XElement.element(Xname) , но это мне не поможет.

+1

' но это не поможет me' Почему? ваш вопрос непонятен. – I4V

+0

'получить ручку!', Что вы пытаетесь ** получить **? пожалуйста, ясно с вашим вопросом! – Anirudha

ответ

2

Вы хотите, чтобы список версий ... Вот так!

XDocument doc=XDocument.Load(yourXML); 
List<string> lst=doc.Descendants() 
        .Elements("Version") 
        .Select(x=>x.Value).ToList(); 
0

Ваш вопрос не ясен, так что я буду отвечать на это, насколько я понимаю

Если вы хотите, чтобы получить список Version с, то этот код достаточно

var versions = xDoc.Descendants("Version").ToList(); 

Если вы хотите извлечь другую информацию из своего xml, то

var files = xDoc.Descendants("File") 
       .Select(f => new 
       { 
        File = f.Nodes().OfType<XText>().First().Value.Trim(), 
        Version = f.Element("Version").Value.Trim() 
       }) 
       .ToList(); 

Незначительная часть получает имя файла, такие как b.txt поскольку XElementFile «s значение содержит также значение своего ребенка (Version)

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