C#如何读取xml文件里面节点里面的属性信息 显示到指定控件上?
展开全部
我上午刚解决了这个问题,我把代码给你看看,不知道是不是你想要的。
我的xml数据很简单:
<device>
<item id="wd">31.2</item>
<item id="sd">36.7</item>
</device>
就是为了得到id=“sd”下的36.7的数据.
x下面是简单代码:
XmlDocument dom = new XmlDocument();实例化XmlDocument
dom.LoadXml(dt.Rows[i]["data"].ToString());数据是存放在datatable里面的。其实这句就是加载xml语句。
//dom.Save("D:\\temp.xml");
// XDocument xml = XDocument.Load("d:\\temp.xml");这两句原来用了,上一句就是保存成xml文件,下一句是使用XDocument 加载xml文件,这时候xml变量就可以显示为xml字符串了。
var node= dom.SelectSingleNode("device/item[@id='sd']");//读取指定的xml节点。
dt.Rows[i]["data"] = node.InnerText;//读取该节点的值。这时候终于得到了我想要的数据了。
//var data= from x in xml.Descendants("item") where x.Attribute ("id").Value == "sd" select x;这也是查询节点的语句,和上面注销的算式一组代码,但是这样读出来的还是<item>下的xml语句,不是我想读取的内部的值。xml语句和数据库还是有一定的相似之处的。可以使用select查询来读取节点内容。
友情链接:http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.selectsinglenode.aspx这个是msdn的SelectSingleNode的方法。有更详尽的解释。现在发现msdn真是越来越好用了啊!
我的xml数据很简单:
<device>
<item id="wd">31.2</item>
<item id="sd">36.7</item>
</device>
就是为了得到id=“sd”下的36.7的数据.
x下面是简单代码:
XmlDocument dom = new XmlDocument();实例化XmlDocument
dom.LoadXml(dt.Rows[i]["data"].ToString());数据是存放在datatable里面的。其实这句就是加载xml语句。
//dom.Save("D:\\temp.xml");
// XDocument xml = XDocument.Load("d:\\temp.xml");这两句原来用了,上一句就是保存成xml文件,下一句是使用XDocument 加载xml文件,这时候xml变量就可以显示为xml字符串了。
var node= dom.SelectSingleNode("device/item[@id='sd']");//读取指定的xml节点。
dt.Rows[i]["data"] = node.InnerText;//读取该节点的值。这时候终于得到了我想要的数据了。
//var data= from x in xml.Descendants("item") where x.Attribute ("id").Value == "sd" select x;这也是查询节点的语句,和上面注销的算式一组代码,但是这样读出来的还是<item>下的xml语句,不是我想读取的内部的值。xml语句和数据库还是有一定的相似之处的。可以使用select查询来读取节点内容。
友情链接:http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.selectsinglenode.aspx这个是msdn的SelectSingleNode的方法。有更详尽的解释。现在发现msdn真是越来越好用了啊!
追问
6
7
8
这是xml里的信息 我的 运行一次就增加一个节点
**里的数字是动态的
但是我想得到上一次的 ** 里面的信息 显示在Label上 这个怎么做那
追答
判断id.value的值==上一个的值(不是自增吗,可以减一得到上一个的值),大概就是这样吧,你试试,var node= dom.SelectSingleNode("device/item[@id='sd']");//读取指定的xml节点。
把id=“***”这个换成变量再读取显示应该会有你说的效果!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询