怎么不用循环,只需要这个XML文件里最后一个值。
就是Item最后的结果值。
try
{
XmlDocument xmlDoc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;//忽略文档里面的注释
XmlReader reader = XmlReader.Create(@"..\test_data.xml", settings);
xmlDoc.Load(reader);
// 得到根节点Point
XmlNode xnPoint = xmlDoc.SelectSingleNode("Data");
//如何直接取到Item最后一个值。
foreach (XmlNode xn1 in xnl)
{
XmlElement xe = (XmlElement)xn1;//这代码还报错。还达不到我想要的效果。
string id = xe.GetAttribute("ID").ToString();
string cpdata = xe.GetAttribute("CPData").ToString().Replace(",", "");
string date_time = xe.GetAttribute("Date").ToString();
}
reader.Close();
}
catch (Exception ex)
{
}
<Data>
<Item ID="140826032" CPData="2,3,5" Date="2014-08-26 13:41:59" />
<Item ID="140826033" CPData="1,3,5" Date="2014-08-26 13:51:53" />
<Item ID="140826034" CPData="1,4,4" Date="2014-08-26 14:02:00" />
<Item ID="140826035" CPData="3,4,5" Date="2014-08-26 14:12:12" />
<Item ID="140826036" CPData="1,2,5" Date="2014-08-26 14:22:00" />
<Item ID="140826037" CPData="2,3,6" Date="2014-08-26 14:32:00" />
<Item ID="140826038" CPData="2,2,4" Date="2014-08-26 14:42:00" />
<Item ID="140826039" CPData="2,3,5" Date="2014-08-26 14:52:29" />
<Item ID="140826040" CPData="1,2,5" Date="2014-08-26 15:02:00" />
<Item ID="140826041" CPData="1,5,6" Date="2014-08-26 15:12:38" />
.....<!-- 还有很多值--!>
</Data>
------解决思路----------------------
XmlNode xnPoint = xmlDoc.SelectSingleNode("/Data/Item[last()]");
------解决思路----------------------
using System.Linq;
string str1 = @"<Data><Item ID='140826032' CPData='2,3,5' Date='2014-08-26 13:41:59'/><Item ID='140826033' CPData='1,3,5' Date='2014-08-26 13:51:53'/></Data>";
XElement element1 = XElement.Parse(str1);
var temp = element1.Descendants().LastOrDefault(); // 取值
------解决思路----------------------
最后一个值,我以为是date属性,哈哈
XDocument doc = XDocument.Load(System.Windows.Forms.Application.StartupPath + @"\test_data.xml");
var result =doc.Descendants("Item").LastOrDefault() ;