我有下面的XML字符串(XMLTEXT):無法讀取XML字符串的某些元素
<?xml version="1.0" encoding="utf-8" ?>
<RateSheet>
<rate category="children" date="2016-04-21">
<value>1.375</value>
</rate>
<rate category="music" date="2016-05-01">
<value>2.475</value>
</rate>
</RateSheet>
我需要閱讀從XML以下信息:類別,日期UND值
我可以閱讀類別和日期 - 但我不能爲值讀取數據
我有這樣的代碼:
using (XmlReader reader= XmlReader.Create(new StringReader(XMLText)))
{
while (reader.ReadToFollowing("rate"))
{
Rate rate = new Rate();
reader.MoveToFirstAttribute();
rate.Category = reader.Value; //text of current Node : Catagory
//*************************************************************************************
reader.MoveToNextAttribute(); //text of current Node : Date
DateTime myDate;
if (DateTime.TryParse(reader.Value, out myDate))
{
rate.Date = myDate;
}
//*************************************************************************************
reader.ReadToFollowing("value"); //should be 1.375 or 2.475 - but is always empty ("")
Console.WriteLine("value Element=" + reader.Value); //test: reader.Value does not the data
decimal myValue;
if (Decimal.TryParse(reader.Value, out myValue))
{
rate.Value = myValue;
}
else
{
rate.Value = -1; // this is what happens because reader.value == ""
}
//return collection with result
myRates.Add(rate);
}
}
檢查:http://stackoverflow.com/a/2441694/2224701 –