MarcHandler (Marc ISO2709)
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ISO2709
7 {
8 public class MarcHandler
9 {
10 private const char 记录分隔符 = (char)29;
11 private const char 字段分隔符 = (char)30;
12 private const char 子字段分隔符 = (char)31;
13
14 private const int 头标区长度 = 24;
15 private const int 字段长度 = 12;
16
17
18
19 public string Record;
20 public MarcHandler(string Record)
21 {
22 this.Record = Record;
23 }
24
25
26 private Record SingleRecordHandler(string Record)
27 {
28 var result = new Record();
29
30 int 记录总长度;
31 int 数据基地址;//目次区结束位置
32
33
34 int 目次区长度;
35 string 目次区内容;//每个12位:字段标识符(3) 字段长度(4) 字段起始地址(5) ; 字段标识符 应查找对应字段名
36
37 int 字段个数;
38 int 字段标识符;
39
40 int 数据区长度;
41 string 数据区内容;//个数对应 目次区中的字段个数
42
43 string[] 数据字段数组;
44 string[] 数据子字段数组;
45
46 int i;
47 string[] tmp;
48
49 记录总长度 = Record.Substring(0, 4);
50 数据基地址 = Record.Substring(12, 5);
51
52 目次区长度 = 数据基地址 - 头标区长度 + 1;
53 目次区内容 = Record.Substring(头标区长度, 目次区长度);
54 字段个数 = 目次区长度 / 字段长度;
55
56 数据区长度 = 记录总长度 - 数据基地址;
57 数据区内容 = Record.Substring(数据基地址, 数据区长度);
58
59 //配置文件:数字与字段名映射(01-ISBN,010-出版社等)
60 //1.得到所有字段标识符
61 //2.取得数据区内容与目次区字段标识符的对应字段构建Table(依次对应,注意有子字段,通过"子字段分隔符"分隔)
62 //3.如果"字段标识符"的数字与配置文件中的数字相同,设置实体类Record中相应字段的值
63
64 return result;
65 }
66
67 public IEnumerable<Record> RecordSplit()
68 {
69 var result = new List<Record>() ;
70
71 var RecordList=Record.Split(记录分隔符);
72 foreach (var r in RecordList)
73 {
74 result.Add(SingleRecordHandler(Record));
75 }
76 }
77
78 public void ToExcel()
79 {
80 foreach (var r in RecordSplit())
81 {
82 //导出到Excel
83 }
84 }
85
86 }
87
88 public class Record
89 {
90 public string ISBN { set; get; }
91 public string 出版社 { set; get; }
92 // 自己添加
93 }
94 }
95
Marc数据格式:(记录分隔符分隔)
1.记录头标区:24 位,0 - 4位字符为该记录的总长度 ,1 2 -1 6位为数据基地址。它的值等于头标区长度与目次区长度之和,即数据基地址-24=目次区长度;相当于表信息
2.目次区:12位*n个 组成 (字段分隔符分隔) ,字段标识符(3) 字段长度(4) 字段起始地址(5);相当于列名
3.数据区:目次区字段名所对应的值,(字段分隔符分隔,其中包含的子字段由子字段分隔符分隔);相当于值
转载于:https://www.cnblogs.com/limxc/archive/2008/07/02/1234158.html
MarcHandler (Marc ISO2709)相关推荐
- 什么是MARC数据?
MARC简介 机读目录是机器可读目录的简称,英文为Machine-Readable Catalogue,简写为MARC.是计算机编目的产品.它是以代码形式和特定格式结构记录在计算机存贮载体上,能够被计 ...
- 开源代码库_3个开源代码库来处理MARC格式的记录
开源代码库 欢迎回到Nooks&Crannies! 在为我的婚礼休假一个月之后,我一直在为即将到来的专栏挖掘一些有趣的地方. 这个月,我将看一些开放源代码库,开发人员可以使用它们来处理MARC ...
- Linux基金会网络策略副总裁Marc Cohn:OPEN-O遍及网络,尽享服务
2016年6月1-2日,"2016全球SDNFV技术大会"在北京盛大召开.作为连续举办三届的SDN/NFV技术与产业盛会,本届大会着眼于SDN /NFV的实践应用与部署,从SDN/ ...
- 快讯 | 美国投资公司Avenue Capital Group联合创始人Marc Lasry:比特币价格可能达到40,000美元...
快讯 | 美国投资公司Avenue Capital Group联合创始人Marc Lasry:比特币价格可能达到40,000美元... 区块链大本营7月19日讯 据美国有线电视新闻网(CNN)报道,美 ...
- marc数据个人心得
最近在做一个实习的图书馆系统,因为涉及到书城,自然会涉及到marc数据的编码与解码,研究了下GB/T 20163-2006的中国档案机读目录格式(在中国国家标准网里可以查到)里面涉及到很多的分段符号, ...
- Msc.Marc的python开发#2
这里写目录标题 Msc.Marc的python开发#2 开发目的 流程图 整体结构 单元结构 应用实例 Msc.Marc的python开发#2 今天接着上一篇的文章介绍.上一篇说到,利用Msc.Mar ...
- msc.marc的Python开发,MscMarc,python,2
文章目录 Msc.Marc的python开发#2 开发目的 流程图 整体结构 单元结构 应用实例 Msc.Marc的python开发#2 今天接着上一篇的文章介绍.上一篇说到,利用Msc.Marc的p ...
- Marc数据解析和拼接(java版)
解析marc数据: marc数据分为三部分:标识区.目次区.数据记录区.详情请仔细查找资料,本文不多介绍,直接上代码 import java.util.ArrayList; import java.u ...
- Java读取MARC元数据 代码
需要对MARC元数据的转换有一点了解,这个自行百度了解. 可以参考: https://blog.csdn.net/chaishen10000/article/details/79245055 http ...
最新文章
- 自学python推荐书籍 知乎-在知乎上学 Python - 爬虫篇
- how to identify keywords for search on Google Scholar?
- chapter 15 运算符详解
- MATLAB基础学习笔记01:初探MATLAB世界
- 无心剑中译叶芝诗17首
- Python使用pyinstaller打包几个小技巧
- 牛客 —— 湖南大学第十六届程序设计竞赛(重现赛)
- laravel blade include使用变量_3分钟短文:可能是Laravel模板最直白的用法了,没有之一...
- python爬虫怎么挣钱-个人利用Python爬虫技术怎么挣钱
- java获取达梦数据库_记一次对达梦数据库的优化过程
- 求1--100的和 Python3实现
- sockets: SCTP
- m2增长率曲线_中国通胀率(中国m2历年数据曲线图)
- vue:如何设计网页的微信扫码登录功能
- 阿里云Oss云存储的使用步骤
- 638-字符串模式匹配-KMP算法
- 微信 考勤 php,JavaScript_微信企业号开发之微信考勤Cookies的使用,在上篇文章给大家介绍了微信 - phpStudy...
- 剑指offer做题记录
- 三只松鼠商品评论分析
- 仿163邮箱上传多附件,有点酷
热门文章
- “2018中国企业互联网CEO峰会”听e签宝金宏洲讲新趋势
- 3手机版怎么换行_全国青少年普法网手机怎么登录 教育部普法网手机版登录入口:http://qspfw.moe.gov.cn...
- Matlab:随机整数
- TQ2440 GPB口控制寄存器GPBCON和GPBUP作用
- Unity3D 鼠标以及触屏移动、缩放控制器(相机)
- 【虹科科普】网络监控协议的类型
- 你知道 Java 中关键字 enum 是一个语法糖吗?反编译枚举类
- Windchill二次开发-批量导出和载入对象的软类型和软属性
- 宝尚在线炒股攀钢钒钛,钒涨价最受益标
- 大厂offer背后的简历精修师