BlogEngine.Core/Providers/XmlProvider/Pages.cs

(开头部分) 4KB

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

#region Using

using System;
using System.Xml;
using System.IO;
using System.Globalization;
using System.Collections.Generic;
using System.Collections.Specialized;
using BlogEngine.Core;

#endregion

namespace BlogEngine.Core.Providers
{
  /// <summary>
  /// A storage provider for BlogEngine that uses XML files.
  /// <remarks>
  /// To build another provider, you can just copy and modify
  /// this one. Then add it to the web.config's BlogEngine section.
  /// </remarks>
  /// </summary>
  public partial class XmlBlogProvider : BlogProvider
  {

    /// <summary>
    /// Retrieves a Page from the data store.
    /// </summary>
    public override Page SelectPage(Guid id)
    {
      string fileName = _Folder + "pages" + Path.DirectorySeparatorChar + id.ToString() + ".xml";
      XmlDocument doc = new XmlDocument();
      doc.Load(fileName);

      Page page = new Page();

      page.Title = doc.SelectSingleNode("page/title").InnerText;
      page.Description = doc.SelectSingleNode("page/description").InnerText;
      page.Content = doc.SelectSingleNode("page/content").InnerText;
      page.Keywords = doc.SelectSingleNode("page/keywords").InnerText;

			if (doc.SelectSingleNode("page/slug") != null)
				page.Slug = doc.SelectSingleNode("page/slug").InnerText;

      if (doc.SelectSingleNode("page/parent") != null)
        page.Parent = new Guid(doc.SelectSingleNode("page/parent").InnerText);

      if (doc.SelectSingleNode("page/isfrontpage") != null)
        page.IsFrontPage = bool.Parse(doc.SelectSingleNode("page/isfrontpage").InnerText);

      if (doc.SelectSingleNode("page/showinlist") != null)
        page.ShowInList = bool.Parse(doc.SelectSingleNode("page/showinlist").InnerText);

      if (doc.SelectSingleNode("page/ispublished") != null)
        page.IsPublished = bool.Parse(doc.SelectSingleNode("page/ispublished").InnerText);

      page.DateCreated = DateTime.Parse(doc.SelectSingleNode("page/datecreated").InnerText, CultureInfo.InvariantCulture);
      page.DateModified = DateTime.Parse(doc.SelectSingleNode("page/datemodified").InnerText, CultureInfo.InvariantCulture);

      return page;
    }
后面还有 78 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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