以下の構造の .xml ファイルがあります。特定のEndPointChannelIDの属性値0.05などを取得したいです。現在、値を取得できますが、目的の値ではなく、すべての EndPointChannelID に対するものです。もう 1 つのひねりは、読み取り値が常に 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"));
}
}
}