开学两周,做数据结构的课程设计,没有课,可以说是又延长了两周的假期。我分到的题目是由一个XML文件建立一个新闻网站。
上学期就开始对XML感兴趣,用Jdom写了点小程序,算是实验,用它拔过我的blog文章摘要及评论,感觉jdom用起来很方便,xml的树状结构更是清晰明了。所以这次那道题目一点都不迷惑,还有些怀疑老师是不是给我放水,呵呵。但是,这次没打算用jdom做,那样未免有些投机取巧了,这道题目的目的就在于xml文件的解析和树状数据结构的建立,都不难,再不自己做就太说不过去了。
还是用java来做,比较容易上手,说实话现在要是再让我用c++做,还真得先找个函数库做后备,虽然语法都应该没什么问题,但是有什么函数就都不知道了。因为xml要用的是unicode编码,支持汉字,所以要采用按照char为单位读取的reader,而不是传统的inputstream,这样就可以读取xml文件了。我没有使用带buffer的reader(没去找,也不知道有没有),而是先将reader中的char挨个读入到一个string中,每当读完一个tag(就是一对尖括号)就将其封装为一个element,作为一个树节点。当读完xml文件,树状结构也就建立好了。
树的建立用的是先根遍历算法,这对于xml文件的格式来说十分舒服自然。这里有一点新的认识就是表征一个tag结束的</ >,其实它里面的type只是为了人们看着清楚,对于解析起来说,完全可以不用考虑这个结束标记的type是什么(合式检查就另当别论了)。我的做法是当遇到新的tag时,建立节点,添加父子关系,然后将新节点压栈,作为当前的父节点,当遇到< />标签的时候,进行弹栈,直到没有新的节点可以建立并且栈为空退出。(一开始没有考虑<tpye />的情况,导致可能会造成堆栈错误,其实只要不对那个节点进行压栈就可以了)
这样就可以将xml文件解析成一棵树的结构,之后再对其进行遍历提取信息,先是在网页上就可以了。目前只做到这里,但是后面的就没什么了,倒是分析BSP的feed格式挺有意思。看了国内外的几个大的BSP发现了三种规范:rss、atom、rdf。前两种都听说过,只是这最后一种是头回见。国内基本用的都是rss,atom和rdf几乎没有用的,找到两个国外的网站用的是那两个。虽然是三个不同的标准,但是大体结构都还是差不多的,基本信息也都出入不大,所以遍历搜索信息的算法可以基于对标准的人工分析,不用靠“猜”,只是这样就需要针对每一个标准提供不同的算法来解析。而还会有一些网站的feed不是按照这种规范来做的,可能就会需要特定优化了。
写到这里发现忘记说一个很重要的事情,就是我打算把这个课程设计做成什么东西。我想把它做成一个网站,任何人都可以随意来添加feed,feed源保存到数据库中,然后在页面显示全部或者部分新闻的标题,读者可以点击标题,或者只是指向,察看摘要。基本就是这个功能,没有什么特色,没有什么新意,只是想做成这个样子。如果有空间可以放的话我倒是挺想挂出去,看看一段时间之后上面会有哪些东西。估计都是广告了,呵呵。
分享到:
相关推荐
源码的可读性和可维护性对于课程设计和毕业设计来说至关重要,能帮助学生养成良好的编程习惯。 8. **视频教程**:提供的演示视频是学习资源的重要组成部分,它可以帮助学生快速理解程序的工作原理,观察模拟过程,...
10. 校本课程是体现学校办学宗旨和特色的课程,允许学校根据自身特点和学生需求进行课程设计。 11. 教学过程的中心环节是上课,这是教师传授知识和学生学习的主要途径。 12. 1990年代初的报告强调了学校需要家庭的...
《计算机类专业导论》课程旨在为初入计算机科学殿堂的学生们提供一个全面而深入的专业知识概览。这门课程不仅是计算机及相关专业学生的基础课程,也是他们未来专业选择的指路明灯。通过本课程的学习,学生将能够对...
在课程设计上,会计电算化课程采用了模块化的体系,其核心目标包括认知专业知识、夯实专业基础、履行岗位技能和培养观察理解能力。每一个模块都紧密围绕着这一核心目标,确保学生能够逐步构建起扎实的会计电算化知识...
教师需要了解并掌握《高中物理课程标准》的新要求,做到初高中知识的无缝衔接,帮助学生快速适应高中物理的难度和深度。此外,教师应创新教学手段,营造活泼、互动的教学环境,让学生不再是被动接受者,而是成为主动...
为了使学生更加深入地理解公用设施的价值,课程设计了“我替‘朋友’说说话”环节,通过角色扮演的方式,让学生站在公用设施的角度表达心声。这样的活动安排有利于增强学生对公用设施的情感共鸣,同时通过了解相关...
教学设计中特别强调了汉字书写的规范性,通过范写指导纠正学生的易错字,如“喂”、“偏”、“贼”等字的结构特点,使学生在学习之初就能养成良好的书写习惯。 整个教学流程的设计是逐步深入的,从初读课文、分段读...
在行为规范和养成教育方面,初二年级强调了基础道德教育的重要性,如关心他人、诚实守信等,通过德育课程和日常活动来培养学生的良好习惯。同时,学校也加强了安全教育,提高师生的安全意识,严格遵守规章制度,以...
在过去,中等职业教育主要沿袭计划经济时代的定向教育模式,即根据特定的岗位需求来设置课程与教学内容,培养初中级专门人才和技术工人。这种模式强调专业技能的培训,确保学生能够快速适应工作岗位。但随着市场经济...
4. 教育理念:遵循《语文课程标准》,强调阅读是个性化行为,鼓励学生在阅读中主动、个性化的学习,培养学生的语文学习兴趣和自信,重视词语理解和段落教学,同时引导学生进行课内外阅读积累。 5. 教学过程:教学...
丽声教育作为专业的播音主持艺考培训学校,不仅针对高考考生提供考前培训,也开设初高中技能养成课程,为有志于播音主持和表演的学生提供全方位的支持。如需了解更多详情,可联系贾老师,联系电话:01,地址:环城...
《见习主任培训课程》正是为了解决这一需求而设计的全面培训方案,它通过一系列精心设计的教学模块,旨在帮助见习主任在各个关键领域取得进步,以适应保险、销售等行业的挑战并取得成功。 课程的开篇是“前人之路”...
整个课程设计注重与学生的认知水平相匹配,同时,将教学内容与实际生活紧密结合,通过实践活动使学生在学习中体验货币使用的乐趣和重要性,为他们日后更深入地了解经济和金融知识打下坚实的基础。通过这样的课程,...
《家具设计CAD教案样本》的编写,正适应了这一发展趋势,为江苏省职业教育学校的相关课程提供了丰富的教学资源。这份由缪希伟和徐州机电工程学校、徐州机电技师学院共同编写的教案,不仅教会学生们AutoCAD 2007的...
课程设计之初,必须确定清晰的教学目标。首先,让学生对固体、液体和气体的基本性质有一个基础的了解,并且认识到所有形态的物质都有其确定的质量。其次,通过实际操作科学测量工具,比如天平,引导学生亲自进行质量...
首先,课程设计之初就明确了教学目标,这些目标不仅具体而且涵盖面广泛。在理解玩耍的多样性这一目标中,通过组织讨论活动,学生们被引导去认识到玩的方式是多样化的。这不仅限于户外的奔跑、打球,也包括室内诸如...
因此,课程设计应围绕培养学生的阅读理解能力、提升其个性化体验,以及塑造其助人为乐和诚实守信的道德观念展开。 【设计理念】的教学设计遵从《语文课程标准》所倡导的教育理念,即尊重并重视阅读作为学生个性化...
这个课程旨在按照专业化销售流程的规律,设计一系列的学习和训练环节,帮助各级营销主任增强辅导和训练能力,同时提高营销员的活动率、转正率和留存率。整个课程涵盖了专业化销售辅导流程的介绍、步骤、辅助工具及...
教学过程设计包括了多个环节,如复习导入、初读古诗、读诗品悟等。在教学模式上,老师引导学生复习之前的课程内容,创设情境,带领学生进入新的学习情境。学生通过自由朗读、查字典、示范朗诵、理解诗意等步骤逐渐...
为了实现这些教学目标,课程设计了一系列活动,旨在通过互动与实践,让学生能够在轻松愉快的氛围中学习交通安全知识。活动的设计从学生的日常生活经验出发,使学生能够在熟悉的生活场景中发现和解决问题,从而更加...