xml是什么格式的文件

xml是什么格式的文件,第1张

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言;而XML文件一般指里面写有可扩展标记语言代码的文件。

XML的特点

XML可以从HTML中分离数据。即能够在HTML文件之外将数据存储在XML文档中,这样可以使开发者集中精力使用HTML做好数据的显示和布局,并确保数据改动时不会导致HTML文件也需要改动,从而方便维护页面。XML也能够将数据以“数据岛”的形式存储在HTML页面中,开发者依然可以把精力集中到使用HTML格式化和显示数据上。

XML可用于交换数据。基于XML可以在不兼容的系统之间交换数据,计算机系统和数据库系统所存储的数据有多种形式,对于开发者来说,最耗时间的工作就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。

XML可应用于B2B中。例如在网络中交换金融信息,目前XML正成为遍布网络的商业系统之间交换信息所使用的主要语言,许多与B2B有关的完全基于XML的应用程序正在开发中。

利用XML可以共享数据。XML数据以纯文本格式存储,这使得XML更易读、更便于记录、更便于调试,使不同系统、不同程序之间的数据共享变得更加简单。

XML可以充分利用数据。XML是与软件、硬件和应用程序无关的,数据可以被更多的用户、设备所利用,而不仅仅限于基于HTML标准的浏览器。其他客户端和应用程序可以把XML文档作为数据源来处理,就像 *** 作数据库一样,XML的数据可以被各种各样的“阅读器”处理。

大容量装载COM接口。如果需要将文档的实体和属性析取到关系表中,最快的方法就是使用SQL Server 2000 Extensible Markup Language 30 Service Pack 1(SQLXML 30 SP1)提供的大容量装载COM接口。

一、XML数据库:

XML数据库能够对半结构化数据进行有效的存取和管理。是一种模式灵活的层次结构数据。

目前XML数据库有三种类型: (1)XMLEnabledDatabase(XEDB),即能处理XML的数据库。其特点是在原有的数据库系统上扩充对XML数据的处理功能,使之能适应XML数据存储和查询的需要。一般的做法是在数据库系统之上增加XML映射层,这可以由数据库供应商提供,也可以由第三方厂商提供。映射层管理XML数据的存储和检索,但原始的XML元数据和结构可能会丢失,而且数据检索的结果不能保证是原始的XML形式。XEDB的基本存储单位与具体的实现紧密相关。

(2)NativeXMLDatabase(NXD),即纯XML数据库。其特点是以自然的方式处理XML数据,以XML文档作为基本的逻辑存储单位,针对XML的数据存储和查询特点专门设计适用的数据模型和处理方法。

(3)HybridXMLDatabase(HXD),即混合XML数据库。根据应用的需求,可以视其为XEDB或NXD的数据库,典型的例子是Ozone。

诸如Oracle、DB2或者SQL SERVER的最新版本都是关系--XML混合型的数据库,功能完整强大。

二、notes文档数据库:

1.Notes 数据库文件 (NSF):数据库文件包容应用程序的数据,其结构由表单、域、文件夹、视图及其他显示功能部件(诸如导航器和数据库图标)组成。具体分两个部分:设计元素、数据文档。设计元素就是表单(Form)、域(Field)、视图(View)和文件夹(Folder)等等,它们构成了应用的基础。数据文档(Document)是用户提交的数据信息。形象来说,它就是用户保存在Form中的文档,例如:一份公文。

2.表单(Form):NSF数据库文件中,一个NSF数据库中可定义多个表单,表单由多个表单元素组成。表单元素是用于创建表单外观和功能的组件。和页面一样,表单可以包含:文本、水平基准线、表格、区段、图形、图像映射、链接、自动功能、小程序、附件、嵌入元素和HTML。表单可由多个子表单组成,子表单是表单元素集合,它作为一个单独的对象来保存。子表单可以包含与常规表单相同的元素。使用子表单可以节省重新设计的时间。如果更改了子表单的某个域,则用到该子表单的每个表单都会更新。子表单的一般用法包括:向商务文档中添加公司标志,或向邮件和便笺表单中添加邮寄标签信息。子表单可以作为表单的永久部件,或者可以根据公式的结果有条件地显示。例如:可以给用户提供一种选择,允许用户使用不同的图像和样式来为各种类型的邮件消息定制邮件表单,例如便笺、警告或信函。在子表单中用到的域名不能在表单的其他地方使用。对子表单所做的更改将影响到所有使用该子表单的表单和文档。

3.域(Field):域是构成表单的重要元素,对一个Notes数据库来说,外部数据的录入要通过域,库内存放数据显示也要依靠域。域类型确定了域可以包含的信息类型。用户可以在“域属性”框中定义域类型。域类型是:文本、日期/时间、数字、对话框列表、复选框、单选按钮、列表框、组合框、RTF 文本、作者、姓名、读者、口令和公式。域的主要属性是:

可编辑:数据可以通过按钮执行公式(Formulas)或脚本(Script)来产生。

隐含的:只作存储,没有显示作用,显示文档时不显示该域的数据。

准许多值:单一域准许用户存入多个值。

4.文档(Document):在Lotus Notes中,信息是以文档的形式保存在数据库中的,一个文档相当于关系型数据库中的一个记录。

5.视图(View):视图是 Lotus Notes中文档的主要浏览窗口,当一个视图的选择条件给定以后,通过该视图所看到的文档就是符合条件的文档,每一视图都包含符合一定条件的文档。视图除了有选择条件外,还可以按不同的特性将文档进行分类和排序,使得我们可以及其快捷地导航到要查找的文档。对于简单的查询,可以不编写任何程序,而通过把视图按合理的方式进行分类和排序就可以了。对用户来说是直观的,可打印输出屏幕上显示的视图。如某一视图的选择条件为:Select form="通知";则打开该视图后,我们所看到的文档都是通知。

6.文件夹(Folder): 文件夹也是文档的浏览窗口之一,但是和视图不同的是,文件夹没有选择条件。由于Lotus Notes的文档是可以共享的,文件夹也可以共享,也可以私有。里面的文档通过Putinfolder放进去,必须通过RemoveFromFolder来将其中的文档移开。

不难看出,在Notes的文档数据库当中,模式也是表格的定义表单(Form)和域(Field),它用来向用户显示和保存数据。而外模式通常是一个用户的能看到视图(View)或是文件夹(Folder)。

从某种角度来看,一方面表单(Form)提供用户浏览保存在NSF文件中的文档信息的方法,Form也是一种内模式的机制,我们可以实现为不同的用户定制不同的Form,以达到不同的用户他们能看到的文档信息(Form)是不同的。另一方面由于在Notes当中,表单(Form)本身并不保存在文档里,只在显示文档时才起作用,Form也是一种数据库的外模式的体现。另外不像关系数据库,一个Table中的一行数据就必须是符合Table定义的。Notes文档数据库中的一份文档可以不符合任何的格式定义,也没有相应的数据约束,数据约束只在用户透过Form输入数据时是有效的。

我们可以认定,Notes中视图(View)或是文件夹(Folder)是一个外模式,它提供用户浏览和查找文档数据的方法,我们可以为不同的用户定制不同的视图或文件夹。

我理解你是想问:如何把xml文件保存到SqlServer数据库中?一个xml对应一个数据库表。

通常就是读取xml中元素(节点)的值并作为insert

的参数,然后执行insert语句就是咯(当然你也可以把xml文件读到DataSet中,然后将DataSet数据保存到数据,这样不必使用Insert了)。至于你要打印那就是读数据库数据并整理的问题了。

但具体到你的问题,要看你xml文件的格式以及你要打印的格式才能给你代码。

补充问题的代码:

你可以使用Stream

s=StreamReader(fillpath,

SystemTextEncodingGetEncoding("UTF-8"))BaseStream;直接把s作为文本存入你数据库中的列

var tmpquery2:tadoquery;

tmpfile:string;

tmptable:tadotable;

begin

if applicationMessageBox( '导入答案将会清空以前的考生答案,确定是否继续? ', '提醒 ',MB_OKCANCEL or MB_ICONWARNING)=mrok then

begin

IF BSopenExecute then

try

try

begin

tmpfile:=bsopenFileName;

tmptable:=tadotableCreate(self);

tmpquery2:=tadoqueryCreate (self);

tmpquery2Connection :=dmconnect ;

tmptableConnection :=dmconnect ;

tmptableTableName:= 'exam_answer ';

with tmpquery2 do

begin

close;

sqlClear;

sqlAdd( 'delete from exam_answer ');

execsql;

end;

tmptableLoadFromFile(tmpfile);

tmptableFirst;

while not tmptableEof do

begin

with tmpquery2 do

begin

close;

sqlClear;

sqlAdd( 'insert into exam_answer(kh,xm,sj_id,sjts,tk_id,stbh,tx,daa,dab,dac,dad,dae,daf,tkda,df) values(:kh,:xm,:sj_id,:sjts,:tk_id,:stbh,:tx,:daa,:dab,:dac,:dad,:dae,:daf,:tkda,:df) ');

parametersParamByName( 'kh ')Value :=tmptablefieldbyname( 'kh ')AsString;

parametersParamByName( 'xm ')Value :=tmptablefieldbyname( 'xm ')AsString;

parametersParamByName( 'sj_id ')Value :=tmptablefieldbyname( 'sj_id ')AsString;

parametersParamByName( 'tx ')Value :=tmptablefieldbyname( 'tx ')AsString;

parametersParamByName( 'sjts ')Value :=tmptablefieldbyname( 'sjts ')AsString;

parametersParamByName( 'tk_id ')Value :=tmptablefieldbyname( 'tk_id ')AsString;

parametersParamByName( 'stbh ')Value :=tmptablefieldbyname( 'stbh ')AsString;

parametersParamByName( 'daa ')Value :=tmptablefieldbyname( 'daa ')AsBoolean;

parametersParamByName( 'dab ')Value :=tmptablefieldbyname( 'dab ')asboolean;

parametersParamByName( 'dac ')Value :=tmptablefieldbyname( 'dac ')AsBoolean ;

parametersParamByName( 'dad ')Value :=tmptablefieldbyname( 'dad ')AsBoolean ;

parametersParamByName( 'dae ')Value :=tmptablefieldbyname( 'dae ')AsBoolean ;

parametersParamByName( 'daf ')Value :=tmptablefieldbyname( 'daf ')AsBoolean ;

parametersParamByName( 'tkda ')Value :=tmptablefieldbyname( 'tkda ')AsString;

parametersParamByName( 'df ')Value :=tmptablefieldbyname( 'df ')AsString;

execsql;

end;

tmptablenext;

end;

showmessage( '导入完成,累死了 ')

end;

finally

tmptableFree;

tmpquery2Free;

end;

except

showmessage( '导入未完成。:( ')

end;

end;

end;

如果单纯的LOAD出来,它是不直接写到后台数据表的。分析下源码就知道它LOAD之前先CLOSE了数据表。只有一条一条增加到后台数据表了。

以上就是关于xml是什么格式的文件全部的内容,包括:xml是什么格式的文件、[Sql server]怎样将XML文件导入数据库、notes文档数据库 xml文档数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9481533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存