2013-07-17 2 views
-1

Я хочу получить доступ к атрибуту type где значение abc является femaleC# - Доступ XML атрибуты

XElement xelement = XElement.Load("..\\..\\Employees.xml"); 
var name = from nm in xelement.Elements("Employee") 
      where (string)nm.(Element("Abc") == "Female").Attribute("Type") == "Att" 
      select nm; 

Это не сработало. Любой способ добиться этого?

+1

Это не работа .. Средства ????? Вы получаете какую-либо ошибку? –

+0

@MicrosoftDJ: У него очень много ошибок компилятора из его абсолютно нечувствительного кода. – SLaks

+0

Может быть, было бы полезно, если бы вы также разместили xml ... – TheKingDave

ответ

1

Что-то вроде этого будет работать. Было бы полезно увидеть Xml.

var doc = XDocument.Load("c:\\temp\\test.xml"); 
var result = doc.Descendants("Employee") 
       .Where(x=>(string)x.Value== "female") 
       .Select(x=>x.Attribute("type").Value); 

Предполагается, что xml-то вроде этого, запрос вернет «foo1».

<?xml version="1.0"?> 
<root>- 
    <Employee type="foo"> 
     <abc>male</abc> 
    </Employee> 
    <Employee type="foo1"> 
     <abc>female</abc> 
    </Employee> 
    <Employee type="foo2"> 
     <abc>male</abc> 
    </Employee> 
</root> 
+0

Спасибо за понимание: D –

0

Ваш код не имеет никакого смысла.

Вы не можете вставлять сравнения и броски и объекты, подобные этому.

Вместо этого вам необходимо использовать оператор && для проверки каждого условия отдельно.

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