我有一个具有以下结构的 .xml 文件。我想获取特定 EndPointChannelID 的属性值 0.05 等。我目前能够获得该值,但它适用于每个 EndPointChannelID 而不是所需的。另一个转折是读数并不总是 6。我怎样才能实现只存储来自所需 EndPointChannelID 的值?任何建议将不胜感激!
<Channel ReadingsInPulse="false">
<ChannelID EndPointChannelID="5154131" />
<ContiguousIntervalSets>
<ContiguousIntervalSet NumberOfReadings="6">
<TimePeriod EndRead="11386.22" EndTime="2013-01-15T02:00:00Z"/>
<Readings>
<Reading Value="0.05" />
<Reading Value="0.04" />
<Reading Value="0.05" />
<Reading Value="0.06" />
<Reading Value="0.03" />
<Reading Value="0.53" />
</Readings>
</ContiguousIntervalSet>
</ContiguousIntervalSets>
</Channel>
下面是我必须找到值的当前代码。
XmlReader reader = XmlReader.Create(FileLocation);
while (reader.Read())
{
if((reader.NodeType == XmlNodeType.Element) && (reader.Name == "Reading"))
{
if (reader.HasAttributes)
{
MessageBox.Show(reader.GetAttribute("Value"));
}
}
}