分类:
.NET MVC
在.net mvc中,想要进行读取xml的操作需要以下步骤:
Xml用途:配置、传输、储存。
1,先要导入命名空间:如下图:
2,我们需要创建生成一个Xml文件,先在试图下创建一个Xml的文件夹来生成文件,代码如下:
- public ActionResult Index()
- {
- XElement root = new XElement("configuration");
- XElement bookarray = new XElement("books");
- root.Add(bookarray);
-
- //生成一个Xml文件
- root.Save(Server.MapPath("~/Views/Xml/book.xml"));
-
- return View();
- }
3,我们需要给xml文件添加数据,以作显示读取之用.
一,封装一个添加数据的方法
- public void addbook(XElement bookarray, string _bsid, string _bookName, string _bookDesc)
- {
- XElement book = new XElement("book");
- book.SetAttributeValue("bsid", _bsid);
- XElement bookName = new XElement("bookName");
- bookName.Value = _bookName;
- book.Add(bookName);
- XElement bookDesc = new XElement("bookDesc");
- bookDesc.Value = _bookDesc;
- book.Add(bookDesc);
- bookarray.Add(book);
- }
二,在创建的xml文件里添加数据,代码如下:
- public ActionResult Index()
- {
- XElement root = new XElement("configuration");
- XElement bookarray = new XElement("books");
- root.Add(bookarray);
- addbook(bookarray, "ba001", "侠盗飞车", "专偷车的故事");
- addbook(bookarray, "ba002", "盗墓笔记", "专盗墓的故事");
- addbook(bookarray, "ba003", "天才枪手", "专偷东西的故事");
- //生成一个Xml文件
- root.Save(Server.MapPath("~/Views/Xml/book.xml"));
-
- return View();
- }
- 可以在创建的Xml文件夹里查看生成的数据,如下
- 4,最后一步就是读取操作了,代码如下:
- //在xml进行读取操作
- public ActionResult Read()
- {
- //读取配置的Web.config文件
- //XElement config = XElement.Load(Server.MapPath("~/Web.config"));
- //string conn = config.Element("connectionStrings").Element("add").Attribute("connectionString").Value;
- //加载xml
- XElement root = XElement.Load(Server.MapPath("~/Views/Xml/book.xml"));
- List<string> bookNamelist = new List<string>(); //Element:子集元素
- List<string> bookidlist = new List<string>(); //Element:子集元素
- foreach (var item in root.Element("books").Elements("book"))
- {
- string bookName = item.Element("bookName").Value;
- //string bookDesc = item.Element("bookDesc").Value;
- bookNamelist.Add(bookName);
- bookidlist.Add(item.Attribute("bsid").Value);
- }
- ViewBag.bookidlist = bookidlist;
- return View(bookNamelist);
- }
5,为了完善效果,我们还可以在显示目录的同时点击显示详情,所以需要封装一个详情方法
- //封装详情的方法
- public void BookDetails(string bsid)
- {
- //加载xml
- XElement root = XElement.Load(Server.MapPath("~/Views/Xml/book.xml"));
- XElement book = root.Element("books").Elements("book").Where(a => a.Attribute("bsid").Value == bsid).FirstOrDefault();
- Response.Write("编号:" + bsid +"<br/>");
- Response.Write("书名:" + book.Element("bookName").Value + "<br/>");
- Response.Write("描述:" + book.Element("bookDesc").Value + "<br/>");
- }
试图绑定数据代码如下:
- @{
- ViewBag.Title = "Read";
- }
- @model List<string>
- @{
- List<string> idNameList = ViewBag.bookidlist as List<string>;
- }
- <div style="margin-top:30px;">
- <ul style="list-style-type:none;font-size:25px;">
- @for (int i = 0; i < idNameList.Count; i++)
- {
- <li style="float:left;margin-left:15px;"><a href="/xml/BookDetails?bsid=@idNameList[i]">@Model[i]</a></li>
- }
- </ul>
- </div>
点击效果如下:
好了,对于Xml的创建,读取操作就到这里啦,喜欢的朋友可以收藏哦.
评价
排名
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
欢迎加群交流技术