xml的读取(曾删改)
Posted manwwx129
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml的读取(曾删改)相关的知识,希望对你有一定的参考价值。
先定义 一个方法显示查询出来的数据
private void showInfoByElements(IEnumerable<XElement> elements)
{
List<BookModel> modelList = new List<BookModel>();//BookModel 对应的读取数据的实体类
foreach (var ele in elements)
{
BookModel model = new BookModel();
model.BookAuthor = ele.Element("author").Value;
model.BookName = ele.Element("title").Value;
model.BookPrice = Convert.ToDouble(ele.Element("price").Value);
model.BookISBN=ele.Attribute("ISBN").Value;
model.BookType=ele.Attribute("Type").Value;
modelList.Add(model);
}
dgvBookInfo.DataSource = modelList;
}
读取所有的数据
直接找到元素为book的这个结点,然后遍历读取所有的结果.
private void btnReadAll_Click(object sender, EventArgs e)
{
XElement xe = XElement.Load(@"....Book.xml");//xml文件所在位置
IEnumerable<XElement> elements = from ele in xe.Elements("book")
select ele;//linq 方式查询xml内容
showInfoByElements(elements);
}
删除选中的数据
XElement xe = XElement.Load(@"....Book.xml");
IEnumerable<XElement> elements = from ele in xe.Elements("book")
where (string)ele.Attribute("ISBN") == id
select ele;
{
if (elements.Count() > 0)
elements.First().Remove();
}
xe.Save(@"....Book.xml");//更新
插入一条数据
XElement xe = XElement.Load(@"....Book.xml");
XElement record = new XElement(
new XElement("book",
new XAttribute("Type", "选修课"),
new XAttribute("ISBN","7-111-19149-1"),
new XElement("title", "计算机操作系统"),
new XElement("author", "7-111-19149-1"),
new XElement("price", 28.00)));
xe.Add(record);
xe.Save(@"....Book.xml");
以上是关于xml的读取(曾删改)的主要内容,如果未能解决你的问题,请参考以下文章