标签:sele sel 子节点 var 项目 convert display attribute 赋值
首先,准备了一个Model类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace XML { public class bookModel { public string bookType { get; set; } public string bookISBN { get; set; } public string bookName { get; set; } public string bookAuthor { get; set; } public double bookPrice { get; set; } } }
这个是创建xml文档的方法
/// <summary> /// 使用LINQ To Xml 创建xml文档 /// </summary> /// <param name="fileName">文件名</param> private void CreateXML(string fileName) { var xdoc = new XDocument( new XElement("bookstore", //根节点 new XElement("book", //子节点 new XAttribute("Type", "必修课") //子节点属性 , new XAttribute("ISBN", "1.00.0001") //子节点下的内容 , new XElement("title", "语文") , new XElement("author", "张三") , new XElement("price", "100.00") ) , new XElement("book", new XAttribute("Type", "必修课") , new XAttribute("ISBN", "1.00.0002") , new XElement("title", "数学") , new XElement("author", "李四") , new XElement("price", "50.00") ) , new XElement("book", new XAttribute("Type", "必修课") , new XAttribute("ISBN", "1.00.0003") , new XElement("title", "英语") , new XElement("author", "王五") , new XElement("price", "25.00") ) , new XElement("book", new XAttribute("Type", "必修课") , new XAttribute("ISBN", "1.00.0004") , new XElement("title", "c语言") , new XElement("author", "某某") , new XElement("price", "1000") ) , new XElement("book", new XAttribute("Type", "必修课") , new XAttribute("ISBN", "1.00.0005") , new XElement("title", "算法设计与分析") , new XElement("author", "问问") , new XElement("price", "230.00") ) , new XElement("book", new XAttribute("Type", "选修课") , new XAttribute("ISBN", "1.00.0008") , new XElement("title", "计算机操作系统") , new XElement("author", "飞") , new XElement("price", "500") ) ) ); xdoc.Save(fileName); //文件创建(保存)在当前项目解决方案的DeBug下 }
这个是读取xml文档以及把读取内容显示到Grid的方法
private void LoadData() { try { //加载文档并取得根节点 XElement root = XElement.Load("book.xml"); //取得根节点下所有名为book的子节点以及子节点下的内容 IEnumerable<XElement> targetNode = from target in root.Descendants("book") select target; List<bookModel> lst = new List<bookModel>(); foreach (XElement node in targetNode) { //实例Model,给字段赋值 bookModel model = new bookModel(); model.bookType = node.Attribute("Type").Value.ToString(); model.bookISBN = node.Attribute("ISBN").Value.ToString(); model.bookName = node.Element("title").Value.ToString(); model.bookAuthor = node.Element("author").Value.ToString(); model.bookPrice = Convert.ToDouble(node.Element("price").Value); lst.Add(model); } gdvBook.DataSource = lst; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
使用LINQ TO XML 创建xml文档,以及读取xml文档把内容显示到GridView例子
标签:sele sel 子节点 var 项目 convert display attribute 赋值
原文地址:http://www.cnblogs.com/liujunhong2016/p/7717672.html