解析DBLP数据集
前言
放弃了找实习的念头后,决心搞论文。冥思苦想了好长时间,终于决定了方向,和学者合作网络相关。于是开始了提取dblp数据集,在刚开始运行脚本的时候总是报一个错误,“IOError: [Errno 2] : ‘dblp.dtd’”。
以下是xml文件格式:
思考了好久后终于明白,是因为项目中缺少dtd文件,导致程序找不到报错。接下来是关于xml方面的知识,之后讲解dblp解析数据。
关于XML
什么是 XML?
- XML 指可扩展标记语言(EXtensible Markup Language)。
- XML 是一种标记语言,很类似 HTML。
- XML 的设计宗旨是传输数据,而非显示数据。
XML验证
形式良好的XML文档会遵守前几章介绍过的 XML 语法规则:
- XML 文档必须有根元素
- XML 文档必须有关闭标签
- XML 标签对大小写敏感
- XML 元素必须被正确的嵌套
- XML 属性必须加引号
合法的 XML 文档是“形式良好”的 XML 文档,同样遵守文档类型定义 (DTD) 的语法规则:
DTD(Document Type Definition)的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:
SAX
sax是Python提供的一个解析xml文件的库,从它的源码中可以看出它提供了一些事件处理程序,通过实现这些处理程序完成解析功能,实现了C编写的Python处理模块提供的接口。