以下是使用System.Xml.Linq实现课程表的添加、删除、修改和查询的C#代码:

using System;
using System.Xml.Linq;

public class Program
{
    private static string filePath = @".\ClassToolboxData\SchoolTimetable.xml";

    public static void Main()
    {
        // 添加课程
        AddCourse("Monday", "数学", "10:00", "11:00");
        AddCourse("Tuesday", "物理", "13:00", "15:00");

        // 删除课程
        DeleteCourse("Monday", "英语");

        // 修改课程
        UpdateCourse("Tuesday", "物理", "14:00", "16:00");

        // 查询课程
        QueryCourse("Tuesday");
    }

    public static void AddCourse(string dayOfWeek, string courseName, string startTime, string endTime)
    {
        XDocument doc = XDocument.Load(filePath);

        XElement dayOfWeekElement = doc.Descendants("DayOfWeek").FirstOrDefault(x => x.Attribute("Name").Value.Equals(dayOfWeek));
        if (dayOfWeekElement != null)
        {
            XElement course = new XElement("Course");
            course.SetAttributeValue("Name", courseName);
            course.SetAttributeValue("StartTime", startTime);
            course.SetAttributeValue("EndTime", endTime);

            dayOfWeekElement.Add(course);
        }
        else
        {
            XElement newDayOfWeekElement = new XElement("DayOfWeek");
            newDayOfWeekElement.SetAttributeValue("Name", dayOfWeek);

            XElement course = new XElement("Course");
            course.SetAttributeValue("Name", courseName);
            course.SetAttributeValue("StartTime", startTime);
            course.SetAttributeValue("EndTime", endTime);

            newDayOfWeekElement.Add(course);
            doc.Root.Add(newDayOfWeekElement);
        }

        doc.Save(filePath);
    }

    public static void DeleteCourse(string dayOfWeek, string courseName)
    {
        XDocument doc = XDocument.Load(filePath);

        XElement dayOfWeekElement = doc.Descendants("DayOfWeek").FirstOrDefault(x => x.Attribute("Name").Value.Equals(dayOfWeek));
        if (dayOfWeekElement != null)
        {
            XElement courseElement = dayOfWeekElement.Descendants("Course").FirstOrDefault(x => x.Attribute("Name").Value.Equals(courseName));
            if (courseElement != null)
            {
                courseElement.Remove();
            }
        }

        doc.Save(filePath);
    }

    public static void UpdateCourse(string dayOfWeek, string courseName, string newStartTime, string newEndTime)
    {
        XDocument doc = XDocument.Load(filePath);

        XElement dayOfWeekElement = doc.Descendants("DayOfWeek").FirstOrDefault(x => x.Attribute("Name").Value.Equals(dayOfWeek));
        if (dayOfWeekElement != null)
        {
            XElement courseElement = dayOfWeekElement.Descendants("Course").FirstOrDefault(x => x.Attribute("Name").Value.Equals(courseName));
            if (courseElement != null)
            {
                courseElement.SetAttributeValue("StartTime", newStartTime);
                courseElement.SetAttributeValue("EndTime", newEndTime);
            }
        }

        doc.Save(filePath);
    }

    public static void QueryCourse(string dayOfWeek)
    {
        XDocument doc = XDocument.Load(filePath);

        XElement dayOfWeekElement = doc.Descendants("DayOfWeek").FirstOrDefault(x => x.Attribute("Name").Value.Equals(dayOfWeek));
        if (dayOfWeekElement != null)
        {
            Console.WriteLine("课程表 - {0}", dayOfWeekElement.Attribute("Name").Value);

            foreach (XElement courseElement in dayOfWeekElement.Descendants("Course"))
            {
                string courseName = courseElement.Attribute("Name").Value;
                string startTime = courseElement.Attribute("StartTime").Value;
                string endTime = courseElement.Attribute("EndTime").Value;

                Console.WriteLine("课程:{0},时间:{1} - {2}", courseName, startTime, endTime);
            }
        }
        else
        {
            Console.WriteLine("找不到该天的课程表。");
        }
    }
}

这段代码实现了添加课程、删除课程、修改课程和查询课程的功能。需要注意的是,代码中的filePath变量指定了存储课程表的XML文件路径,请根据实际情况修改该变量的值

请帮我写一段C#代码使用SystemXmlLinq实现课程表的添加删除修改和查询课程表以XML的形式储存在ClassToolboxDataSchoolTimetablexml文件中XML格式如下:TimeTable DayOfWeek Name=Monday Course Name=英语 StartTime=0700 EndTime=0900 Course Name=语文 Star

原文地址: https://www.cveoy.top/t/topic/ikO0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录