在学校和教育机构中,XML可用于描述课程安排。以下示例展示了如何使用XML存储课程信息,包括课程名称、教师、学分等。
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<courses>
<course>
<courseCode>CS101</courseCode>
<courseName>Introduction to Computer Science</courseName>
<instructor>Dr. Alice Johnson</instructor>
<credits>3</credits>
</course>
<course>
<courseCode>CS102</courseCode>
<courseName>Data Structures</courseName>
<instructor>Dr. Bob Smith</instructor>
<credits>4</credits>
</course>
<course>
<courseCode>MATH101</courseCode>
<courseName>Calculus I</courseName>
<instructor>Prof. Charlie Brown</instructor>
<credits>4</credits>
</course>
</courses>
代码解释:
courses
是根元素,包含多个course
元素,每个course
元素描述了一门课程的基本信息。
使用Python解析XML并打印课程信息:
import xml.etree.ElementTree as ET
def parse_courses(xml_file):
# 解析XML文件
tree = ET.parse(xml_file)
root = tree.getroot()
# 遍历每门课程
for course in root.findall('course'):
course_code = course.find('courseCode').text
course_name = course.find('courseName').text
instructor = course.find('instructor').text
credits = course.find('credits').text
print(f"Course Code: {course_code}")
print(f"Course Name: {course_name}")
print(f"Instructor: {instructor}")
print(f"Credits: {credits}")
print()
# 调用函数解析课程XML文件
parse_courses('courses.xml')
扩展:
- 可以通过XML存储学生和课程之间的关系(例如选修的课程)。
- 可以通过课程学分进行排序,或者根据教师进行分类。