LINQ-to-XML: выбор конкретного значения узла - PullRequest
1 голос
/ 16 сентября 2009
<PKT>
   <Result Name="GetBalance" Success="1">
      <Returnset>
         <Balance Type="int" Value="0" />
      </Returnset>
   </Result>
</PKT>

Лучший способ получить значение Balance с помощью LINQ-to-XML?

Ответы [ 3 ]

3 голосов
/ 16 сентября 2009
var values = from e in XDocument.Load("MyFile.xml").Descendants("Balance")
             select e.Attribute("Value").Value;

foreach (var e in values)
{
    Console.WriteLine(e);
}
2 голосов
/ 16 сентября 2009
XDocument doc = XDocument.Load("MyFile.xml");
IEnumerable<XElement> elements = doc.Descendants("Balance");

foreach (XElement e in elements)
{
    Console.Write(e.Attribute("Value").Value);
}

Вы можете сделать это таким образом. Я набрал код прямо здесь, вы можете подтвердить любые опечатки.

0 голосов
/ 16 августа 2011

Если вы хотите получить значение только из первого вхождения Balance, вы можете сделать.

var balance = (from n in XDocument.Load("MyFile.xml").Descendents("Balance")
               select n.Attributes("Value").Value).ToList().First();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...