在搜狗实验室下载的新闻语料库中存储的一条新闻的数据格式是
<doc>
<url></url>
<docno></docno>
<contenttitle></contenttitle>
<content></content>
</doc>
多条新闻数据就是多个doc的重复
<doc>
<url></url>
<docno></docno>
<contenttitle></contenttitle>
<content></content>
</doc>
<doc>
<url></url>
<docno></docno>
<contenttitle></contenttitle>
<content></content>
</doc>
这种文本文件不是标准的xml文件,因为所有的doc节点都直接是最顶层,没有根节点。因此要添加根节点使该文本文件符合xml文件的规范。
但是用notepad++打开后,notepad++就无响应了,过了一会提示文件过大。
然后又尝试用vim打开,仍然非常卡,但是可以在文件开头写入字符,我在嘴上面加入,然后用G命令跳到底部。这时vim也无响应了。
最后我想到可以windows的copy命令将文本文件与语料文件合并来在文件的头部和尾部添加文本。
通过合并文本在文本的前后添加字符
- 新建一个文本文件head.txt写入
<docs>
- 新建一个文本文件end.txt写入
</docs>
- 用copy命令合并文本
copy /b head.txt + ..\news_sohusite_xml_full.xml + end.txt canbeimport.xml
此时生成的文本就一docs文根节点的标准xml文档了。可以用navcat
导入MysqL。
具体操作方法可以参考这个博客http://www.jb51.cc/article/p-waeebzrp-ng.html 注意在选择编码的时候要根据文本的编码选择。