第六章 将对象映射到 XML - 控制对象值属性的映射形式

文章目录

第六章 将对象映射到 XML - 控制对象值属性的映射形式

控制对象值属性的映射形式

对于每个对象值属性,默认 XML 映射由一个 XML 元素(表示对象本身)和表示该对象属性的子元素或属性组成,由该对象类中的 XML 映射选项控制。

注意:后面的部分讨论以下特殊的对象值属性:集合、关系和流。

指定对象值属性的映射形式

要控制对象属性的映射方式,请设置该属性的 XMLPROJECTION 参数,如下所示:

XMLPROJECTION 对对象属性的影响

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

例如,考虑以下类:

java 复制代码
Class Basics.ObjectPropsDemo Extends (%RegisteredObject, %XML.Adaptor)
{

Property Object1 As SimpleObject(XMLPROJECTION = "wrapped");

Property Object2 As SimpleObject(XMLPROJECTION = "element");

}

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

xml 复制代码
<ObjectPropsDemo>
  <Object1>
    <SimpleObject>
      <MyProp>abcdef</MyProp>
      <AnotherProp>qrstuv</AnotherProp>
    </SimpleObject>
  </Object1>
  <Object2>
    <MyProp>abcdef</MyProp>
    <AnotherProp>qrstuv</AnotherProp>
  </Object2>
</ObjectPropsDemo>
相关推荐
俊昭喜喜里38 分钟前
理解全局跨域CORS配置
前端
锋行天下3 小时前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
jktantan4 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
计算机魔术师4 小时前
Anthropic官方插件被「寄生」,背后是同一类攻击又来了
前端
我命由我123454 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng5 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
LaughingZhu5 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
Lank_M6 小时前
抠图结果缩放后边缘发脏,该怪的不是插值
前端
jerrywus6 小时前
Skill、MCP、Workflow、Rules、Memory 有什么区别?拿几次真实开发任务讲清楚
前端·agent·claude
补码缩写6 小时前
canvas 与 sharp 缩放透明图:默认预乘,非预乘得拆通道
前端