美文网首页
第九章 将对象映射到 XML - 控制集合属性的映射形式

第九章 将对象映射到 XML - 控制集合属性的映射形式

作者: Cache技术分享 | 来源:发表于2023-11-18 08:54 被阅读0次

第九章 将对象映射到 XML - 控制集合属性的映射形式

控制集合属性的映射形式

要控制集合属性的 XML 映射的形式,请设置该属性的 XMLPROJECTION 参数,如下所示:

XMLPROJECTION 对集合属性的影响

Value of XMLPROJECTION Effect on Collection Properties
"WRAPPED" 该属性被映射为具有子元素的元素;每个子元素对应于集合中的一个项目。这是集合属性的默认值。
"ELEMENT" 集合中的每个项目都被映射为一个元素,而不被包装在父属性中。
"NONE" 该属性不会投影为 XML
"ATTRIBUTE", "XMLATTRIBUTE", or "CONTENT" 编译时错误。

以下部分显示了具有数据类型列表或数组属性的示例。对于对象集合,映射元素可以递归地具有进一步的结构,具体取决于这些对象的 XML 映射。

指定列表属性的映射形式

以下类定义使用“WRAPPED”和“ELEMENT”值的集合属性:

Class xmlproj.DataTypeColls Extends (%RegisteredObject, %XML.Adaptor)
{

Property Collection1 As list Of %String;

Property Collection2 As list Of %String (XMLPROJECTION="wrapped");

Property Collection3 As list Of %String (XMLPROJECTION="element");

}

下面显示了此类实例的 XML 表示形式的示例:

<?xml version="1.0" encoding="UTF-8"?>
<DataTypeColls>
  <Collection1>
    <Collection1Item>list item 1</Collection1Item>
    <Collection1Item>list item 2</Collection1Item>
  </Collection1>
  <Collection2>
    <Collection2Item>list item 1</Collection2Item>
    <Collection2Item>list item 2</Collection2Item>
  </Collection2>
  <Collection3>list item 1</Collection3>
  <Collection3>list item 2</Collection3>
</DataTypeColls>

对于使用“ELEMENT”的 Collection3 属性,XML 映射忽略该属性的列表性质,而是将每个列表项视为该类的单独属性。

指定数组属性的映射形式

对于数组,每个数组项都有一个值和一个键,这两条信息都必须用 XML 表示。键始终被映射为元素内的 XML 属性。考虑下面的类:

Class xmlproj.DataTypeArray Extends (%RegisteredObject, %XML.Adaptor)
{

Property ArrayProp As array Of %String;

}

下面显示了此类实例的默认 XML 表示形式的示例:

<?xml version="1.0" encoding="UTF-8"?>
<DataTypeArray>
  <ArrayProp>
    <ArrayPropItem ArrayPropKey="1">apples</ArrayPropItem>
    <ArrayPropItem ArrayPropKey="2">bananas</ArrayPropItem>
    <ArrayPropItem ArrayPropKey="3">chocolate</ArrayPropItem>
  </ArrayProp>
</DataTypeArray>

如果将 XMLPROJECTION 指定为“ELEMENT”,则 XML 投影如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<DataTypeArray>
  <ArrayProp ArrayPropKey="1">apples</ArrayProp>
  <ArrayProp ArrayPropKey="2">bananas</ArrayProp>
  <ArrayProp ArrayPropKey="3">chocolate</ArrayProp>
</DataTypeArray>

相关文章

  • Java基础系列31-双列 Map集合、Properties集合

    一. Map集合 Map集合将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 1.1 创...

  • Map集合

    Map集合 概述 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 Map集合存储元素是成...

  • Map集合

    Map集合 概述: ​ 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 特点: 常...

  • java基础系列07--集合(3)

    JAVA集合三 Map集合 java.util 下的接口Map,将键映射到值的对象。一个映射不能包含重...

  • Java基础笔记18

    18.01_集合框架(Map集合概述和特点) A:Map接口概述查看API可以知道:将键映射到值的对象一个映射不能...

  • No.5 Map集合

    简介: Map集合:将键映射到值的对象。(1)一个映射不能包含重复的键;(2)每个键最多只能映射到一个值。 Map...

  • 2020-06-29Map集合

    Map集合 Map集合概述①Interface Map K:键的类型 : 值的类型。②将键映射到值的对象...

  • Topic18:Map集合

    18.01 Map集合概述和特点 Map接口概述将键映射到值的对象一个映射不能包含重复的键每个键最多只能映射到一个...

  • Java 基础 37 Map集合

    1.1创建Map集合对象并添加元素 Map: 将键映射到值的对象。 一个映射不能包含重复的键; 每个键最多只能映射...

  • Java中Map集合概述及成员方法、Map集合的三个子类、Col

    Map集合 概述- 将键映射到值的对象- 一个映射不能包含重复的键- 每个键最多只能映射到一个值 前面我们一直在学...

网友评论

      本文标题:第九章 将对象映射到 XML - 控制集合属性的映射形式

      本文链接:https://www.haomeiwen.com/subject/vwwuwdtx.html