以文本方式查看主题 - W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL (http://bbs.xml.org.cn/index.asp) -- 『 XML源码及示例(仅原创和转载) 』 (http://bbs.xml.org.cn/list.asp?boardid=32) ---- 求助,急!!小弟的一个程序作业,C语言高手帮忙看看。 (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=68149) |
-- 作者:maylander -- 发布时间:10/11/2008 12:16:00 AM -- 求助,急!!小弟的一个程序作业,C语言高手帮忙看看。 要求原文如下 作业B: XML语言的简单解释器算法实现 上交截止时间:2008年10月11日(周六)晚上24:00 1.XML 语言简介: XML(Extensible Markup Language) 语言是一种简单,灵活的文本格式。最初设计它是用来满足大规模的电子出版需求的。今天XML在WEB和其他广泛的数据交换应用中扮演了越来越重要的交色。有关XML的更多信息,请参考W3C 网站. 在本次作业中,请你设计一个简单的XML 解释器, 它可以读入一个简单的XML文本文件(实际应用中XML 文见结构要复杂的多, 这里,我们只是仅仅处理文件中的“标记”)。文件内容如下所示。 一个简单的XML文件: <class> <student> <name>ABC</name> <id>123456</id> </student> </class> 每组“标记”包含两部分:标记名称和标记值。例如, <id>123456</id>是一组标记。标记名称包含在一对尖括号中("<" 和 ">"), <id> 称为标记头, </id> 称为标记尾。 标记头和标记尾之间的称为标记的值。 在上面的例子中,标记名称=id, 标记值=123456。 有时候,在标记头和标记尾之间还可以嵌入其他标记组。如标记 <student> 包含了标记 <name> 和标记 <id> 作为它的值,我们称这种包含关系为父-子关系。 或者说, <student> 是 <name> 和 <id>的父亲。 这种简单的XML 文件可以用一种树状结构来描述, 它由一组结点的集合组成。如下图所示, 上述的文件中的XM语句描述的是一棵包含了4个结点(用圆圈表示)的树。在这个作业中每个结点包含3个成员变量: • 一个称为 "name" 的字符串变量- 用于存储结点的名称 • 一个称为 "value" 的字符串变量- 用于存储结点的值 • 一个指向儿子的指针数组 – 用于指向当前结点的各个儿子结点 • 如果需要, 你也可以加上其它的成员变量。 这个作业的目标是需要你编制一个程序,读入一个XML文件,然后从顶部(根结点)按层次顺序打印出该树状结构的所有结点(每行打印一个结点的内容), 每层按从左到右的顺序打印该层的节点。每个结点包含它的3个成员变量值。 每个结点内容的打印顺序为:结点编号 - 结点标记名称:标记值,儿子:儿子结点标号,儿子结点标号,…… 例如,上面的文件将打印输出如下: Element 1- class : null, child: Element 2 Element 2 - student: null, child: Element 3, Element 4 Element 3 - name : ABC, child: null Element 4 - id: 123456, child null 注意,在你的作业中不允许使用现成的XML 解释器。 输入的文件是一个括号完全匹配的有效的 XML文件。 每个结点的儿子数可以不相同,层次的深度也不限定。尖括号 <>之间无空格。 你的程序首先应当检查括号的匹配情况。如果括号不匹配,应能报告错误并退出程序的运行。 |
-- 作者:maylander -- 发布时间:10/11/2008 12:22:00 PM -- 慌了吖 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.988ms |