Извлечь имя атрибута из XML-файла, учитывая значение атрибута ParentNode в C # - PullRequest
0 голосов
/ 23 августа 2011

Учитывая следующий файл XML,

    - <CommandTiming Name="Architecture.Dome">
      <Sample Name="run1" EllapsedTime="627" /> 
      <Sample Name="run2" EllapsedTime="636" /> 
      <Sample Name="run3" EllapsedTime="650" /> 
      <Sample Name="run4" EllapsedTime="626" /> 
      <Sample Name="run5" EllapsedTime="643" /> 
      </CommandTiming>

Я хотел бы извлечь EllapsedTime для run1, run2, run3, run4 и run5, учитывая имя CommandTiming = "Architecture.Dome"

Я хочу массив со значениями 627, 636, 650, 626, 643.

Спасибо.

Ответы [ 2 ]

1 голос
/ 23 августа 2011

Это должно сделать это:

XDocument doc = XDocument.Parse(
 "<CommandTiming Name='Architecture.Dome'>" + 
        "<Sample Name='run1' EllapsedTime='627' />" +
        "<Sample Name='run2' EllapsedTime='636' /></CommandTiming>");
var values = doc.XPathSelectElements("CommandTiming[@Name='Architecture.Dome']/Sample")
    .Select(v => v.Attribute("EllapsedTime").Value);

Пример в реальном времени: http://rextester.com/rundotnet?code=CNN24938

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

Попробуйте что-то вроде этого:

XDocument doc = XDocument.Parse(
 "<CommandTiming Name='Architecture.Dome'>" + 
        "<Sample Name='run1' EllapsedTime='627' />" +
        "<Sample Name='run2' EllapsedTime='636' /></CommandTiming>");//etc    
var elapsedTimes = doc.Root.Elements().Attributes("EllapsedTime").
    Select(e => e.Value).ToArray<string>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...