tnblog
首页
视频
资源
登录

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

5845人阅读 2019/11/28 17:33 总访问:323112 评论:0 收藏:0 手机
分类: .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的创建,读取操作就到这里啦,喜欢的朋友可以收藏哦.

评价
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术