第一章 IRIS XML介绍

在InterSystems IRIS®中,您可以使用对象作为XML文档的直接表示,反之亦然。因为InterSystemsIRIS包括一个本地对象数据库,所以您可以直接将这些对象与数据库一起使用。此外,InterSystems IRIS提供了用于处理任意XML文档和DOM(文档对象模型)的工具,甚至是与任何InterSystems IRIS类无关的文档。

1.1 用XML表示对象数据

一些XML工具主要用于支持XML的类。若要对类进行XML启用,请将%XML.Adaptor添加到其超类列表中。%XML.Adaptor使您能够将该类的实例表示为XML文档。您可以添加类参数和属性参数来微调投影。请参见将对象投影到XML。

在这里插入图片描述

对于启用XML的类,您的数据可以以以下所有形式提供:

  • 包含在类实例中。根据类的不同,数据也可以保存到磁盘上,在那里它可以以与其他持久类相同的方式使用。
  • 包含在XML文档中,这些文档可以是文件、流或其他文档。
  • 包含在DOM中。

下图概述了用于在这些表单之间转换数据的工具:

在这里插入图片描述

在启用XML的类的上下文中,%XML.Writer使您能够将数据导出为XML文档。输出目的地通常是一个文件或流。

%XML.Reader使您能够将合适的XML文档导入到类实例中。源通常是一个文件或流。若要使用此类,请指定类名和XML文档中包含的元素之间的相关性。给定的元素必须具有相应类所期望的结构。然后逐个节点地阅读文档。当您这样做时,系统会在内存中创建该类的实例,其中包含在XML文档中找到的数据。

DOM也是处理XML文档的一种有用方法。您可以使用%XML.Reader来读取XML文档并创建表示该文档的DOM。在这种表示方式中,DOM是一系列节点,您可以根据需要在它们之间导航。具体来说,您可以创建一个%XML.Document的实例,表示文档本身并包含节点。然后使用%XML.Node来检查和操作节点。如果需要,可以使用%XML.Writer以再次编写XML文档。

InterSystems IRIS XML工具提供了许多访问XML文档和DOMs中的数据和修改XML文档和DOM的方法。

1.2 创建任意XML

使用InterSystems IRIS XML工具,您还可以创建和使用任意XML,也就是说,不映射到任何InterSystem IRIS类的XML。若要创建任意XML文档,使用%XML.Writer。此类提供了添加元素、添加属性、添加命名空间声明等方法。

若要创建任意DOM,使用%XML.Document。该类提供了一个类方法,该方法返回具有单个空节点的DOM。然后使用该类的实例方法根据需要添加节点。

或者使用%XML.Reader以读取任意XML文档,然后从该文档创建DOM。

1.3 访问数据

InterSystems IRIS XML工具提供了几种以XML形式访问数据的方法。下图显示了摘要:

在这里插入图片描述

对于任何格式良好的XML文档,都可以使用以下类来处理该文档中的数据:

  • %XML.TextReader — 您可以使用它逐个节点地读取和解析文档。请参阅使用%XML.TextReader。

  • %XML.XPATH.Document — 您可以使用XPATH表达式来获取数据,该表达式引用文档中的特定节点。请参见评估XPath表达式。

在InterSystems IRIS中,DOM是%XML.Document实例。该实例表示文档本身并包含节点。您可以使用此类的属性和方法从DOM检索值。您可以使用%XML.Node来检查和操作节点。有关信息,请参阅将XML文档表示为DOM。

1.4 修改XML

InterSystems IRIS XML工具还提供了以XML形式修改数据的方法。下图显示了摘要:

在这里插入图片描述

对于XML文档,可以使用%XML.XSLT.Transformer中的类方法以执行XSLT转换并获得文档的修改版本。请参阅执行XSLT转换。

对于DOM,可以使用%XML.Document的方法来修改DOM。例如,可以添加或删除元素或属性。

1.5 SAX解析器

InterSystems IRIS XML工具使用InterSystems IRIS-SAX(XML的简单API)解析器。这是一个使用标准Xerces库的内置SAX XML验证解析器。SAX是一个解析引擎,提供完整的XML验证和文档解析。InterSystems IRIS SAX使用高性能的进程内调用机制与InterSystems Iris进程进行通信。使用这个解析器,您可以使用内置的InterSystems IRIS XML支持来处理XML文档,也可以在InterSystems IRIS中提供自己的自定义SAX接口类。

对于特殊应用程序,可以创建自定义实体解析器和内容处理程序。此外,您还可以使用行业标准的XML DTD或模式验证来验证任何传入的XML,并可以指定要解析的XML项。请参阅自定义SAX解析器的使用方式。

1.6 其他XML工具

InterSystems IRIS XML支持包括以下附加工具:

%XML.Schema 使您能够从一组启用了XML的类中生成XML模式。

%XML.Namespaces使您能够检查XML名称空间和其中的类,以获得InterSystems IRIS名称空间。

%XML.Security.EncryptedData类和其他类使您能够加密XML文档,以及解密加密的文档。

%XML.Security.Signature类和其他类使您能够对XML文档进行数字签名,以及验证数字签名。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值