xml文件
下载地址为https://dblp.uni-trier.de/xml 下载的dblp.xml.gz文件解压后有两个多G直接读取导致程序的内存溢出。
文件处理
处理的方法是使用window中的cmd的more 命令。使用cd 命令将目录转到xml文件的目录。 使用命令 more dblp.xml
使用如下
然后按方向键↓则可以依次刷出数据,避免了加载整个文件导致的内存过大的问题。本例子截取了前面几十个article并手动补全了最后的dblp标签。另存为了dblp_part.xml放到了C盘的根目录下。
在语言的选择中,先是选用了python对文件进行处理,但是在用python完成使用xPath对xml的处理后发现在python环境中很难实现用xQuary对文件进行处理,所以转去使用java。
ide的选择是idea。
建立java工程
选择在idea中搭建java环境。首先在电脑安装java并配置环境变量这里不再赘述,接着安装idea。
idea安装完成后新建java工程的步骤如下:
File->New->Project…
在弹出的界面中确保java环境然后一路Next
记住在最后一步可以选择工程的名字
工程建立后在左边的目录中找到src右键 New->Java Class
为新文件命名,然后点击Class
然后就可以愉快的编程了
在idea中引入jar包
有时候在完成工作的时候需要引入第三方的jar包,首先需要下载相应的jar包,然后把其加到工程中。
在idea中引入下载的jar的方法如下:
File->Project Structure->
然后点Modules->✚->JARs or directories
选完文件后点击Apply即可把jar添加到工程中。如此,一些不能import的文件就能import了,于是一些不能用的函数就可以引用了。
XQuary
本案例使用的是saxon环境运行的XQuary。
请自行寻找资源或者 https://download.csdn.net/download/xman4code/12082958
首先下载saxon插件下载完成解压后找到三个jar包:
把jar包引入到工程里后准备工作已经就绪,下面可以正式开始了。
首先用记事本或者notepad++新建如下内容的文档。
for $x in doc("C://dblp_part.xml")/books/book
where $x/price>30
return $x/title
内容为xQuary查询语言可自行编辑。
然后保存为dblp.xqy放到C盘根目录。
然后java代码如下:
import java.io.File;
import java.io.FileInputStream;
import jav