//读取XML里的数据并把数据保存到数据库中 protected void Button2_Click(object sender, EventArgs e) { List<book> bookList = book.GetbookList();//获取数据源 //XElement doc = XElement.Load( "E:\\1.课程资料\\7.asp.net\\2.asp.net(下)\\1.复习\\1.c#\\12.linQ\\LINQ\\Authors.xml"); XElement doc = XElement.Load(Server.MapPath("XML.xml")); //然后是开始查询。两个数据源将通过图书ISBN字符串值联接在一起,因此该查询要遍历的是XML文档中的 //“book”元素而不是“author”元素,接着就是联接两个数据源 var authorsByBooks = from bookk in doc.DescendantsAndSelf("book") join bookInfo in bookList on bookk.Attribute("isbn").Value equals bookInfo.ISBN //现在该查询为XML文档中的图书建立了变量authorId,已知“<author>”元素是“<book>”元素的父元素 //因此可以使用XElement类的Parent方法毫不费事的获取该元素及其Id属性 let authorId = bookk.Parent.Attribute("id").Value //设置分组结果按图数标题进行排序 orderby bookInfo.Title //然后该查询对作者Id进行分组 group new { AuthorId = authorId } //按照已获取到值得图书标题分组 by bookInfo.Title into groupedAuthors//重新定义一个字段 select new { Title = groupedAuthors.Key, Authors = groupedAuthors }; //最后,当结束数据处理时,函数会遍历查询结果并首先显示每个作者ID分组中作为键值的图书标题 foreach (var bookk in authorsByBooks) { lblBooks.ToolTip += string.Format("{0}", bookk.Title); foreach (var author in bookk.Authors) { //string str=string.Format("{0}<br/>", author.AuthorId); lblBooks.Text += string.Format("{0}<br/>", author.AuthorId); //string name = lblBooks.Text.Substring('*',5)
XML的数据提取和保存到数据库中
最新推荐文章于 2023-03-17 00:43:52 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)