第十六章 处理空字符串和 Null 值

文章目录

  • [第十六章 处理空字符串和 Null 值](#第十六章 处理空字符串和 Null 值)
  • [空字符串和 `Null` 值的默认映射](#空字符串和 Null 值的默认映射)
  • 导出值
  • 控制空元素的形式

第十六章 处理空字符串和 Null 值

类和属性参数

  • XMLUSEEMPTYELEMENT

  • XMLIGNORENULL

  • XMLNILNOOBJECT

  • XMLNIL

空字符串和 Null 值的默认映射

下表总结了空字符串和 null 值的默认 XML 映射。请注意,XML 映射与 SQL 映射类似,此处也显示了 SQL 映射以进行比较。

空字符串和 Null 值的默认 SQLXML 映射

InterSystems IRIS Value Default Projection to XML Projection to SQL
$char(0) 空元素或属性 SQL 空字符串
"" No projection SQL NULL value

导出值

下表列出了对于作为元素映射到 XML 的属性,可以将空字符串和 null 值从支持 XML 的对象导出到 XML 文档的方法:

导出作为元素映射到 XML 的属性的空字符串和 Null

Details of XML-Enabled Class Property equals "" Property equals $char(0)
类指定 XMLIGNORENULLXMLNIL 的默认值 导出的 XML 文档不包含与此属性对应的元素 导出的文档包含与此属性对应的空元素;参见本小节
类指定 XMLIGNORENULL=1 导出的文档包含与此属性对应的空元素;参见本小节 导出的文档包含与此属性对应的空元素;参见本小节
类指定 XMLNIL=1(并且 XMLIGNORENULL 不是 1 导出的文档包含与此属性对应的空元素,并且此空元素指定 xsi:nil="true" 导出的文档包含与此属性对应的空元素;参见本小节

映射为属性的属性的详细信息类似:

导出作为属性投影到 XML 的属性的空字符串和 Null

Details of XML-Enabled Class Property equals "" Property equals $char(0)
类指定此表中描述的参数的默认值 导出的 XML 文档不包含与此属性对应的属性 导出的文档包含与此属性对应的空属性
XMLIGNORENULL=1 导出的文档包含与此属性对应的空属性。例如:PropName="" 导出的文档包含与此属性对应的空属性
XMLNIL=1(并且 XMLIGNORENULL 不是 1)) 导出的 XML 文档不包含与此属性对应的属性(与默认场景相同) 导出的文档包含与此属性对应的空属性

控制空元素的形式

默认情况下, IRIS 写入带有开始标记和结束标记的空元素。例如:

xml 复制代码
<PropName></PropName>

可以改为让 IRIS 写入一个自关闭空元素(这是等效的)。例如:

xml 复制代码
<PropName />

为此,请将 XMLUSEMPTYELEMENT 类参数指定为 1。此参数的默认值是 0

相关推荐
小月土星5 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆5 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
毛驴赶鹿5 小时前
【金仓数据库征文】KES V9性能调优实战记录:从慢SQL排查到全链路优化
数据库·sql
码农阿豪6 小时前
【金仓数据库征文】Mac开发环境|SpringBoot3 + MyBatisPlus对接KES V9 Docker实战全指南
数据库·macos·docker
杨云龙UP6 小时前
MySQL 数据库常用备份工具对比:mysqldump、mydumper 与 XtraBackup
linux·运维·服务器·数据库·mysql·dba·备份恢复
ZENERGY-众壹6 小时前
500个工商业电站压垮数据库?海量光伏时序数据存储的架构取舍
数据库·架构·influxdb·光伏·光伏运维
mubei-1237 小时前
SpringDAO的用法
java·开发语言·数据库
用户938515635077 小时前
从零理解 React Router v6:每一个 API 都是怎么工作的
前端·javascript·全栈
用户059540174469 小时前
Redis缓存回滚踩坑实录:一个配置失误,让我在凌晨3点丢了3000条数据
前端·css
星蓝_starblue9 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it