[英]Extract Attribute name from XML File, given the ParentNode's Attribute Value in C#
Given the following XML File, 给定以下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>
I would like to extract the EllapsedTime for run1, run2, run3, run4 and run5, given the CommandTiming Name = "Architecture.Dome" 给定CommandTiming Name =“ Architecture.Dome”,我想提取run1,run2,run3,run4和run5的EllapsedTime。
I want an array with the values 627, 636, 650, 626, 643. 我想要一个值分别为627、636、650、626、643的数组。
Thanks. 谢谢。
This should do it: 应该这样做:
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);
Live example: http://rextester.com/rundotnet?code=CNN24938 实时示例: http : //rextester.com/rundotnet?code=CNN24938
Try something like this: 尝试这样的事情:
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>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.