tnblog
首页
视频
资源
登录

.NET MVC 中 Xml的创建读取操作

6786人阅读 2019/11/28 17:33 总访问:381877 评论:0 收藏:0 手机
分类: .NET MVC

  

    在.net mvc中,想要进行读取xml的操作需要以下步骤:

     Xml用途:配置、传输、储存。


1,先要导入命名空间:如下图:

   

2,我们需要创建生成一个Xml文件,先在试图下创建一个Xml的文件夹来生成文件,代码如下:

  1.  public ActionResult Index()
  2.         {
  3.             XElement root = new XElement("configuration");
  4.             XElement bookarray = new XElement("books");
  5.             root.Add(bookarray);
  6.     
  7.             //生成一个Xml文件
  8.             root.Save(Server.MapPath("~/Views/Xml/book.xml"));
  9.            
  10.             return View();
  11.         }

3,我们需要给xml文件添加数据,以作显示读取之用.

   一,封装一个添加数据的方法

  1. public void addbook(XElement bookarray, string _bsid, string _bookName, string _bookDesc)
  2.         {
  3.             XElement book = new XElement("book");
  4.             book.SetAttributeValue("bsid", _bsid);
  5.             XElement bookName = new XElement("bookName");
  6.             bookName.Value = _bookName;  
  7.             book.Add(bookName);
  8.             XElement bookDesc = new XElement("bookDesc");
  9.             bookDesc.Value = _bookDesc;
  10.             book.Add(bookDesc);
  11.             bookarray.Add(book);
  12.         }

    二,在创建的xml文件里添加数据,代码如下:


  1.  public ActionResult Index()
  2.         {
  3.             XElement root = new XElement("configuration");
  4.             XElement bookarray = new XElement("books");
  5.             root.Add(bookarray);
  6.             addbook(bookarray, "ba001""侠盗飞车""专偷车的故事");
  7.             addbook(bookarray, "ba002""盗墓笔记""专盗墓的故事");
  8.             addbook(bookarray, "ba003""天才枪手""专偷东西的故事");
  9.             //生成一个Xml文件
  10.             root.Save(Server.MapPath("~/Views/Xml/book.xml"));
  11.            
  12.             return View();
  13.         }
  1. 可以在创建的Xml文件夹里查看生成的数据,如下

   

  1. 4,最后一步就是读取操作了,代码如下:
  2.  //在xml进行读取操作
  3.         public ActionResult Read()
  4.         {
  5.             //读取配置的Web.config文件
  6.             //XElement config = XElement.Load(Server.MapPath("~/Web.config"));
  7.             //string conn = config.Element("connectionStrings").Element("add").Attribute("connectionString").Value;
  8.             //加载xml
  9.             XElement root = XElement.Load(Server.MapPath("~/Views/Xml/book.xml"));
  10.             List<string> bookNamelist = new List<string>();  //Element:子集元素
  11.             List<string> bookidlist = new List<string>();  //Element:子集元素
  12.             foreach (var item in root.Element("books").Elements("book"))
  13.             {
  14.                 string bookName = item.Element("bookName").Value;
  15.                 //string bookDesc = item.Element("bookDesc").Value;
  16.                 bookNamelist.Add(bookName);
  17.                 bookidlist.Add(item.Attribute("bsid").Value);
  18.             }
  19.             ViewBag.bookidlist = bookidlist;
  20.             return View(bookNamelist);
  21.         }

  

       

 5,为了完善效果,我们还可以在显示目录的同时点击显示详情,所以需要封装一个详情方法

     

  1. //封装详情的方法
  2.         public void BookDetails(string bsid)
  3.         {
  4.             //加载xml
  5.             XElement root = XElement.Load(Server.MapPath("~/Views/Xml/book.xml"));
  6.             XElement book = root.Element("books").Elements("book").Where(a => a.Attribute("bsid").Value == bsid).FirstOrDefault();
  7.             Response.Write("编号:" + bsid +"<br/>");
  8.             Response.Write("书名:" + book.Element("bookName").Value + "<br/>");
  9.             Response.Write("描述:" + book.Element("bookDesc").Value + "<br/>");
  10.         }

     试图绑定数据代码如下:

     


  1. @{
  2.     ViewBag.Title = "Read";
  3. }
  4. @model List<string>
  5. @{ 
  6.     List<string> idNameList = ViewBag.bookidlist as List<string>;
  7. }
  8. <div style="margin-top:30px;">
  9.     <ul style="list-style-type:none;font-size:25px;">
  10.         @for (int i = 0; i < idNameList.Count; i++)
  11.         {
  12.             <li style="float:left;margin-left:15px;"><a href="/xml/BookDetails?bsid=@idNameList[i]">@Model[i]</a></li>
  13.         }
  14.     </ul>
  15. </div>


  点击效果如下:

    



好了,对于Xml的创建,读取操作就到这里啦,喜欢的朋友可以收藏哦.

评价

.net MVC分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

.net MVC 登录后跳回原来的页面

把当前连接传递到登录界面,然后登录后根据那个连接跳转回来就好跳转前可以使用Request.Url获取当前页面的地址:&lt;ahref=...

asp.net MVC @helper用法

@helper可以在视图定义一个公共块,这样就可以实现代码的重复调用下面来一个很简单的例子:就是输出一个list的数据。实际项...

ASP.net MVC从请求到响应发生了什么

先就贴一张图哦在来一张

.net MVC 使用百度编辑器详细教程:(1)配置编辑器

一、什么是百度编辑器百度编辑器UEditor是由百度web前端研发部开发一款应用于网站的编辑器,具有轻量,可定制,注重用户体...

Asp.net MVC 利用(aspose+pdfobject.js) 实现在线预览office文档

Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,通过它,我们可以有计划地操纵一些商业中最流行的文件格式...

asp.net MVC 下载文件

方法1:publicvoidDownLoad() { stringfilePath=&quot;文件路径&quot;; using(FileStreamfs=newFileStream(filePath,Fil...

ASP.net MVC + WebUploader+BootStrap实现文件上传进度条显示

引入需要的资源文件:&lt;scriptsrc=&quot;~/Content/jquery-1.9.1.min.js&quot;&gt;&lt;/script&gt; &lt;linkhref=&quot;...

ASP.net MVC + WebUploader实现文件上传二:使用的一些问题

如何把文件选择按钮换成自己的因为WebUploader设置关联的上传id会有他的样式,有时候想换成自己的开始想的是添加自己的文件...

ASP.net MVC 模型验证

MVC自带有模型验证,它是通过System.ComponentModel.DataAnnotations命名空间完成。 我们要做的只是给Model类的各属性加上...

asp.net MVC过滤器

过滤器简介:面向切面的编程方式可以实现不改动原有逻辑的基础上添加自己的逻辑使用的时候添加一个配置即可,不想用的时候...

ASP.net MVC Controller接收ajax post方式发送过来的json对象或数组数据

1、将json数组或者json对象用JSON.stringify()方法序列化成字符串,再将字符串提交到后台。varstuarr=newArray();//创建一...

.net MVC json对象或者json对象数组的序列化和反序列化(一)

1、用JSON.stringify()将对象stuarr或者json数组stuarr序列化成字符串,然后提交给后台。$.post(&quot;/home/DoUpdate&quot...

.net MVC json对象或者json对象数组的序列化和反序列化(二)

1、用JSON.stringify()将对象stuarr或者json数组stuarr序列化成字符串,然后提交给后台。$.post(&quot;/home/DoUpdate&quot...

.net MVC lamdba实现left join

1、left join 用GroupJoin来实现,join的返回结果为一对一,GroupJoin返回结果为一对多,相当于集合中还有集合publicAction...

.net MVC EF框架Left Join的SelectMany原理

下列代码为实现Left join 查询数据库,如果在调用SelectMany方法之前已经ToList,返回之后就结束操作数据库了,SelectMany ...
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 : 不错哦
MUI框架页面间的传值指针
剑轩 : 接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 : 好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
春天是胖次的季节。