Controllers/BlogController.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.IO;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using System.Xml;
using FSBlog.Models;

namespace FSBlog.Controllers
{
    public class BlogController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;

        public BlogController(IHostingEnvironment hostingEnvironment)
        {
            _hostingEnvironment = hostingEnvironment;
        }

        public async Task<IActionResult> BlogList(string id)
        {
            XmlDocument doc = new XmlDocument();
            // 读取博客的category
            doc.Load(_hostingEnvironment.WebRootPath + @"/data/datadic.xml");
            Dictionary<int, string> dic = new Dictionary<int, string>();
            Dictionary<string, int> rdic = new Dictionary<string, int>();
            XmlElement root = doc.DocumentElement;
            XmlNode xn = root.SelectSingleNode("/root/category");
            ViewData["categoryCount"] = xn.ChildNodes.Count;
            for (int i = 1; i <= xn.ChildNodes.Count; i++)
            {
                dic.Add(i, xn.ChildNodes[i - 1].InnerText);
                rdic.Add(xn.ChildNodes[i - 1].InnerText, i);
            }
            ViewData["dic"] = dic;
            ViewData["rdic"] = rdic;
            doc.Load(_hostingEnvironment.WebRootPath + @"/data/blogrecard.xml");
            root = doc.DocumentElement;
            XmlNodeList xnl = root.SelectNodes("/root/blog[@type=1]");
            Blog b;
            List<Blog> list = new List<Blog>();
            foreach (XmlNode item in xnl)
            {
                b = new Blog();
                b.Id = Convert.ToInt32(item.Attributes["id"].InnerText);
                b.Name = item.Attributes["name"].InnerText;
                b.Category = item.Attributes["category"].InnerText;
                b.Path = item.ChildNodes[0].InnerText;
                b.Time = item.ChildNodes[1].InnerText;
                list.Add(b);
            }
            return View(list);
        }

        public async Task<IActionResult> BlogDetail(string id)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(_hostingEnvironment.WebRootPath + @"/data/blogrecard.xml");
后面还有 26 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。