2014-01-28 2 views
0

Использование LINQ к XML, я пытаюсь получить значения атрибутов: «name1 и name2» из «сред» узел:Получение значений атрибутов из узлов и проверки пустых узлов с помощью LINQ к XML

<server> 
<networkAdapters> 
</networkAdapters>  
<media name1="test1" name2="test2"> 
    <groups> 
     <group name="Group Name"> 
    </groups> 
    <others> 
    </others> 
</media> 
</server> 

The code should also check for null or non existent nodes at all, for instance: 

<server> 
<networkAdapters> 
</networkAdapters>  
<media> 
    <groups> 
    </groups> 
    <others> 
    </others> 
</media> 
</server> 

or 

<server> 
<networkAdapters> 
</networkAdapters> 
</server> 

Я довольно новыми для LINQ к XML, и я пытался следующее:

string attribute1 = doc.Descendants("media").Select(s => s.Attribute("name1")).ToString(); 
string attribute2 = doc.Descendants("media").Select(s => s.Attribute("name2")).ToString(); 

Я знаю, что это совершенно неправильно, но это начало. Любая помощь приветствуется. Спасибо!

ответ

0
var name1 = (string)(xDoc.Root.Element("media") ?? New XElement("media")).Attribute("name1"); 
+0

это сработало отлично, спасибо! – Max

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