一种层次结构数据的快速采集方法
【专利摘要】本发明提供一种层次结构数据的快速采集方法,其包括:以可扩展标记语言XML表示层次结构数据;将树状控件与编辑框控件进行组合;解析XML文档,将层次结构数据关联属性作为树状控件节点属性,与相应树状控件节点进行关联,并在树状控件中显示层次结构数据;将层次结构自动展开到用户先前采集的结果,便于在位编辑层次结构数据。本发明通过树状控件与编辑框控件的组合,可避免人为将层次结构扁平化为单一层次,并实现层次数据的在位编辑,用户从而可减少鼠标移动、点击次数,提高操作效率;将层次结构数据及其属性进行关联,可实现两者的统一采集及调整,避免多次操作带来的低效率以及信息不一致。
【专利说明】
一种层次结构数据的快速采集方法
技术领域
[0001]本发明涉及数据处理技术领域,尤其涉及一种层次结构数据的快速采集方法。
【背景技术】
[0002]层次数据(包括分类数据),指具有一定层次结构或分支结构的数据,它与关系数据相对。层次数据在现实世界中极为普遍和常见,如组织机构、学科专业、图书分类、职务分类、民族分类。层次数据可分为单一层次数据(如民族分类)和多层次数据(如组织机构、图书分类)。实际上,单一层次数据是多层次数据的特例。
[0003]由于层次数据的普遍性,在信息系统的数据采集中经常涉及层次数据。目前,信息系统对于层次数据的采集,通常有以下几种做法:
[0004](I)将层次结构固定显示在数据采集界面,供用户操作,例如,某文件归档系统中的文件类型,如图1所示。
[0005](2)弹出一个新的页面(或窗口),用树状控件显示层次数据,供用户操作,例如,某作者注册系统采集专业领域,点击右侧“添加或修改”将弹出“学科专业”页面,如图2所示。
[0006](3)将层次结构扁平化为单一层次的数据,供用户操作,例如,某作者注册系统中的职称,如图3所示。
[0007](4)将层次结构分解成为若干相互关联的单一层次,每个单一层次数据用组合框显示,上下层次显示的数据能够联动,以采集用户的操作结果,例如,某地理信息系统按照地名查询时采集地名,如图4所示。
[0008](5)将层次结构分解成为若干相互不关联的单一层次,每个单一层次数据用组合框显示,上下层次显示的数据不能联动,以采集用户的操作结果,例如,某科研申报系统要求分别采集申报人的研究专长及该研究专长的属性编码,且两者不能自动关联,如图5所不O
[0009]但上述现有技术中的方案存在各种不足,概括起来:界面设计不够简洁,用户操作比较繁琐,容易引入人为错误。具体来说:
[0010](I)图1所示的方案将层次结构固定显示在数据采集界面,不够灵活,界面利用率较低。
[0011](2)图2所示的方案将层次结构固定显示在新弹出的数据采集界面,提高了界面利用率,用户却不得不移动鼠标,以改变输入焦点。
[0012](3)图3所示的方案将层次结构扁平化为单一层次的数据,人为消除了数据的层次性,不便于用户输入及修改。
[0013](4)图4所示的方案将层次结构被分解成为若干相互关联的单一层次,不便于用户输入及修改。
[0014](5)图5所示的方案将层次结构被分解成为若干相互不关联的单一层次,不便于输入及修改,且很容易造成信息不一致性,还要求用户必须事先认真阅读“数据编码表”,避免填报错误,数据编码表任举一个实例,如图6所示。
【发明内容】
[0015]为解决上述技术问题,本发明提供一种层次结构数据的快速采集方法,具有快速采集及编辑层次数据的优势。
[0016]本发明是通过以下技术方案实现:
[0017]—种层次结构数据的快速采集方法,其包括如下步骤:
[0018]步骤I,以可扩展标记语言XML表示层次结构数据,建立XML文档;
[0019]步骤2,将树状控件与编辑框控件进行组合,即在数据采集界面的编辑框控件位置上动态创建树状控件;
[0020]且当树状控件失去焦点时,将其销毁,否则保留树状控件;
[0021]步骤3,利用事件驱动的解析器SAX或基于树的解析器DOM解析步骤I建立的XML文档,同时将层次结构数据关联属性作为步骤2创建的树状控件节点属性,与相应树状控件节点进行关联,并在树状控件中显示层次结构数据;用户完成层次数据采集后,树状控件将失去焦点并被销毁;
[0022]步骤4,当需要修改层次结构数据的采集结果时,通过步骤2、步骤3的方式,在编辑框控件位置上动态创建树状控件,显示层次结构,并自动在树状控件中查找用户此前输入的数值:若检索到相关树状控件节点,则展开该树状控件节点的层次结构,并将录入焦点放置在该树状控件节点供用户进行在位编辑;若未查找到相关树状控件节点,则提示用户并展开树状控件到树状控件的根节点上,供用户导航重新采集层次数据。
[0023]作为优选方案,上述层次结构的数据还包括:单一层次结构的数据;利用所述层次结构数据的快速采集方法进行快速处理。
[0024]作为优选方案,所述层次结构数据快速处理方法在浏览器/服务器结构B/S的页面,或客户端/服务器结构C/S的对话框中使用。
[0025]作为优选方案,所述层次结构数据的快速采集方法在表格中使用。
[0026]作为优选方案,所述步骤I中可扩展标记语言XML由记事本程序进行编辑,所述记事本程序包括:Notepad、Writer;或者由XML Spy进行编辑。
[0027]作为优选方案,所述步骤3中树状控件节点属性支持用户自定义的数据结构UDT。
[0028]与现有的技术相比,本发明的有益效果是:
[0029]本发明可极大地改进用户体验,具体包括以下四个方面:
[0030](I)美化界面布局。通过采集信息时才动态创建树状控件来显示层次数据,可避免将逻辑上紧密相关的层次数据人为分解为多个组合框进行分开显示(做法4),使得用户界面更为简洁,节省了宝贵的屏幕空间(做法I)。
[0031](2)提高操作效率。通过树状控件与编辑框控件的组合,可避免人为将层次结构扁平化为单一层次,从而失去了数据原有的层次结构或次序语义(做法3);也可避免弹出新的页面或窗口(做法2),并实现层次数据的在位编辑,用户从而可减少鼠标移动、点击次数,提高操作效率。
[0032](3)降低出错概率。将层次结构数据及其属性进行关联,可实现两者的统一采集及调整,避免多次操作带来的低效率以及信息不一致(做法5)。
[0033](4)扩大应用范围。在将树状控件与编辑框控件进行组合时,编辑框控件本身既可以在对话框页面中,也可以在列表控件当中。因此,本发明也可应用于表格中层次数据的快速采集。
【附图说明】
[0034]图1为现有技术中层次结构固定显示在数据采集界面图;
[0035]图2为现有技术中层次结构固定显示在新弹出的数据采集界面图;
[0036]图3为现有技术中层次结构被人为扁平化为单一层次示意图;
[0037]图4为现有技术中层次结构被分解成为若干相互关联的单一层次示意图;
[0038]图5(a)为现有技术层次结构被分解成为若干相互不关联的单一层次中层次结构数据示意图;
[0039]图5(b)为现有技术层次结构被分解成为若干相互不关联的单一层次中层次结构属性示意图;
[0040]图6为图5(b)为现有技术层次结构被分解成为若干相互不关联的单一层次中数据编码表不意图;
[0041 ]图7为本发明的层次结构数据的快速采集方法流程图;
[0042]图8为本发明的层次结构管理构件的类图;
[0043]图9为本发明实施例一、实施例三的层次结构数据及其属性的快速录入示意图;
[0044]图10为本发明实施例一的层次数据的快速录入示意图;
[0045]图11为本发明实施例二的层次数据的快速录入示意图;
[0046]图12为本发明实施例四的人员类别示意图;
[0047]图13为本发明实施例四的单一层次数据的快速录入示意图。
【具体实施方式】
[0048]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049]如图7所示,本发明的层次结构数据的快速采集方法,其包括如下步骤:
[0050](I)层次结构的表示。以可扩展标记语言(XML)对层次结构进行描述,便于层次结构的建立及维护。XML可由NotepadJriter等记事本程序进行编辑,也可由XML Spy等专业程序进行编辑;可由IE等浏览器程序进行有效性检查,也可由XML Spy等专业程序进行有效性检查。
[0051](2)树状控件的动态创建与销毁。将树状控件与编辑框控件进行组合,直接在编辑框控件的位置上创建树状控件,利用事件驱动的解析器(SAX)或基于树的解析器(DOM)解析相关XML文档,在树状控件中显示层次结构的数据;当树状控件失去焦点时,将其销毁。
[0052]在具体实现上,甲骨文(Oracle)、微软(Microsoft)、Sun以及许多第三方厂商都提供了XML解析器。本发明基于微软公司提供的XML文档的解析器(mSxml3)以及树状控件CTreeCtrl,开发了构件,其类结构如图8所示。
[0053](3)层次结构数据及其关联属性的快速录入。将层次数据关联属性作为树状控件节点属性,与该树状控件节点进行关联,并在树状控件中显示层次结构数据;以便用户通过导航快速采集层次结构数据及其属性。
[0054]即用户可快速导航层次结构,选取目标数据;用户可以查询某树状控件节点的特定属性。树状控件节点的属性支持用户自定义的数据结构(UDT)。
[0055]首先,在解析XML文档时,将各树状控件节点的属性与树状控件节点进行关联:
[0056]AttrRec m_AttrRec[m_nLimits];
[0057]m_AttrRec[m_nCount].m_strCode = str ;
[0058]SetItemData(hItem,(DffORD)&m_AttrRec[m_nCount++]);
[0059]其次,展开、折叠层次结构,供用户操作选择目标数据:
[0060]再次,获取树状控件中当前树状控件节点的属性:
[0061]HTREEITEM hItem=GetSelectedItem();
[0062]AttrRec^AttrRecl=(AttrRec*)GetItemData(hItem);
[0063](4)层次结构数据的在位编辑。在编辑框控件位置上动态创建树状控件,显示层次结构,自动在树状控件中查找用户此前输入的数值:若检索到相关树状控件节点,则展开该树状控件节点的层次结构,并将录入焦点放置在该树状控件节点供用户进行在位编辑;若未查找到相关树状控件节点,则提示用户并展开树状控件到树状控件的根节点上,供用户导航重新采集层次数据。
[0064]通常,用户在编辑层次结构数据时,会选择当前输入数值的邻近数据。为此,在用户编辑已采集的层次数据时,动态创建、显示该层次结构,在层次结构中查找当前输入数值并将焦点放置在当前的数值上,供用户实现在位编辑(IPE)。处理流程如图11所示。
[0065]实施例一:层次结构数据的快速采集
[0066]以某管理信息系统中人员职称的采集为例进行说明。
[0067]首先,根据需要编写“职称.xml”,并根据需要对各树状控件节点进行了编码,如“教授”的编码为“AAA”,“研究员”的编码为“ΑΒΑ”,如图9所示。
[0068]其次,将树状控件与编辑框控件进行组合,直接在编辑框控件的位置上创建树状控件,在树状控件中显示层次结构的数据,用户可快速导航,选取所需数据,如图10所示。
[0069]实施例二:层次结构数据的在位编辑
[0070]在用户编辑已采集的层次数据时,动态创建、显示有关该层次结构,在层次结构中查找当前输入数值并将焦点放置在当前的数值上,供用户实现在位编辑(IPE)例如,在人员信息采集程序中修改人员职称信息时,对于人员当前职称为“副教授”,本发明将在树状结构中显示职称的层次结构,并自动检索到“副教授”节点,展开该层次结构,并将焦点放在该树状控件节点上,从而可大大提高操作效率,如图11所示。
[0071 ]实施例三:层次结构数据关联属性的快速录入
[0072]将层次数据关联属性作为树状控件节点的属性,与该树状控件节点进行关联;用户可以查询某树状控件节点的特定属性。树状控件节点的属性支持用户自定义的数据结构(UDT)。例如,“职称.xml”根据需要对各树状控件节点进行了编码,如“教授”的编码为“AAA”,“研究员”的编码为“ΑΒΑ”,同样如图9所示;用户选取“教授”节点时,本发明可自动采集到该树状控件节点对应的属性编码“ΑΑΑ”。
[0073]实施例四:单一层次数据的快速录入
[0074]单一层次结构的数据通常采用组合框控件进行管理。本发明将单一层次结构的数据当作一种特殊的层次结构,采用XML文档进行统一管理,从而可方便地实现单一层次数据的快速采集、在位编辑以及关联属性的快速录入。例如,在采集人员的类别信息时,首先根据需要编写“人员类别.xml”,如图12所示。
[0075]其次,将树状控件与编辑框控件进行组合,直接在编辑框控件的位置上创建树状控件,在树状控件中显示层次结构的数据,供用户选取所需数据,如图13所示。
[0076]除了在上述B/S(浏览器/服务器)结构的页面或C/S(客户端/服务器)结构的对话框中使用外,本发明也可用于在表格中嵌入树状控件,从而支持在EXCEL等电子表格中快速采集及编辑层次结构数据。
[0077]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种层次结构数据的快速采集方法,其特征在于,包括如下步骤: 步骤I,以可扩展标记语言XML表示层次结构数据,建立XML文档; 步骤2,将树状控件与编辑框控件进行组合,即在数据采集界面的编辑框控件位置上动态创建树状控件; 且当树状控件失去焦点时,将其销毁,否则保留树状控件; 步骤3,利用事件驱动的解析器SAX或基于树的解析器DOM解析步骤I建立的XML文档,同时将层次结构数据关联属性作为步骤2创建的树状控件节点属性,与相应树状控件节点进行关联,并在树状控件中显示层次结构数据;用户完成层次数据采集后,树状控件将失去焦点并被销毁; 步骤4,当需要修改层次结构数据的采集结果时,通过步骤2、步骤3的方式,在编辑框控件位置上动态创建树状控件,显示层次结构,并自动在树状控件中查找用户此前输入的数值:若检索到相关树状控件节点,则展开该树状控件节点的层次结构,并将录入焦点放置在该树状控件节点供用户进行在位编辑;若未查找到相关树状控件节点,则提示用户并展开树状控件到树状控件的根节点上,供用户导航重新采集层次数据。2.如权利要求1所述的层次结构数据的快速采集方法,其特征在于, 上述层次结构的数据还包括:单一层次结构的数据;利用所述层次结构数据的快速采集方法进行快速处理。3.如权利要求1所述的层次结构数据的快速采集方法,其特征在于, 所述层次结构数据快速处理方法在浏览器/服务器结构B/S的页面,或客户端/服务器结构C/S的对话框中使用。4.如权利要求1所述的层次结构数据的快速采集方法,其特征在于, 所述层次结构数据的快速采集方法在表格中使用。5.如权利要求1所述的层次结构数据的快速采集方法,其特征在于, 所述步骤I中可扩展标记语言XML由记事本程序进行编辑,所述记事本程序包括:NotepacUWriter;或者由XML Spy进行编辑。6.如权利要求1所述的层次结构数据的快速采集方法,其特征在于, 所述步骤3中树状控件节点属性支持用户自定义的数据结构UDT。
【文档编号】G06F17/30GK105824908SQ201610147444
【公开日】2016年8月3日
【申请日】2016年3月15日
【发明人】徐享忠, 张伟, 汤再江, 邵伟, 朱敏洁, 范锐, 黄玺瑛
【申请人】中国人民解放军装甲兵工程学院