1.马克数据百科
http://baike.baidu.com/view/671158.htm#4
2.用c#读取马克数据。
http://www.nmgkjyjj.com/Article_Print.asp?ArticleID=2275
3. 用C#读写MARC的原理与方法
http://www.doc88.com/p-82522808037.html
4.用c#转换marc数据
http://bbs.csdn.net/topics/
5.marc21 &c#
http://sourceforge.net/projects/csharpmarc/
http://sourceforge.net/projects/marclibrary/files/Version%201.2/
6.marc21读取
http://webscripts.softpedia.com/script/Development-Scripts-js/Other-Libraries/CSharp-MARC-56209.html
今天CSDN上的网友乐悠悠要做对marc数据的检索,不嫌我技术低下,在blog上留言问我。我也不怕大家笑话,再写一篇marc的读取文章:)
首先要说的,无论是什么读或写marc数据,都必须吃透marc的数据格式。如果是cnmarc的格式,强烈建议参考《中国机读目录格式使用手册》,对格式的讲解很详细,保证事半功倍,根本不用看我在这里罗嗦。
读取,就分2步,一读,一取。
读:marc文件是.iso格式的文本,每一条记录都是分行的,有一个结束符chr(29)。所以可以一行一行的读取。
取:先获取记录头标区和地址目次区的信息,然后根据地址目次区的位置地址去切割。这里有字段分隔符chr(30),子字段标识符chr(31)
还是给个事例:
$——–chr(31)
@——–chr(30)
%——–chr(29)
#——–space
上边是为学习方便人为的替代符号
这是一条marc数据:
1.头标区:01071nam0##
固定24位,注意空格不能少哦。。
01071:记录总长,5位
nam0:如果是丛书(有225字段),就是oam2,当然每一位都有具体的意思。还有其他变化。这是常用的。
22:一般是22了,具体的意思也可以查书。
00277:数据字段区以前的字符总长度,5位。
450:一般是,具体一看书吧。
2.地址目次区,人为加了”;”和”,”区分。
001,0013,00000;005,0017,00013;…………………………801,0022,00771@
001,0013,00000 :表示字段001(3位),字符长度0013(4位),在数据字段区开始的位置00000(5位)
801,0022,00771 :表示字段801,字符长度0022,在数据字段区开始的位置:00771
这里是读取的一个重要的地方了,知道了这几个数据,很容易分割出来。每个都是固定长度的。
3.数据字段区
0@000.0@##$a7-80142-191-4$dCNY46.00@…………………………………………@%
字段间就是@分隔的,子字段用的$。
@##$,这里##就是指示符位置了。如101字段有指示符012,所以 @012$
大概就写这些了,具体的程序也没写,不知道对乐悠悠有帮助没有,希望有点助益吧。
一风一云
2004年9月14日(王朝网络 wangchao.net.cn)
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/161585.html