当它实际为null时,接收值为null的xml

时间:2010-09-13 16:06:34

标签: xml jdbc livecycle

我正在从livecycle es 8.2

执行sql server 2005上的存储过程

结果返回类似

的内容
<Table>
<Row>
    <ID>1</ID>
    <EN_Cd>EN</EN_Cd>
    <FR_Cd>null</FR_Cd>
    <EN_Nm>English</EN_Nm>
    <FR_Nm>Anglais</FR_Nm>
    <EN_Shrt_Dscrptn>null</EN_Shrt_Dscrptn>
    <FR_Shrt_Dscrptn>null</FR_Shrt_Dscrptn>
</Row>
</Table>

我试图弄清楚为什么在结果中放入“null”这个词。

即使使用xs:int类型,它也会返回单词“null”

jdbc或livecycle中有什么东西可以解决这个问题吗?

存储过程很简单

   select id, en_cd, fr_cd, 
          en_nm, fr_nm, 
          en_shrt_dscrptn, fr_shrt_dscrptn 
   from language

fr_nm,en_shrt_dscrptn,fr_shrt_dscrptn在数据库中为空,它们不包含值“null”。

2 个答案:

答案 0 :(得分:1)

尝试使用coalesce()函数将空值转换为空字符串,如下所示:

select id, 
      coalesce(en_cd,''), 
      coalesce(fr_cd,''), 
      coalesce(en_nm,''), 
      coalesce(fr_nm,''),
      coalesce(en_shrt_dscrptn,''), 
      coalesce(fr_shrt_dscrptn,'') 
from language

或者,您可以研究如何转换为XML,并查看是否有方法在那里指定空值处理选项。

答案 1 :(得分:0)

您可以使用XSLT转换从节点内容中删除NULL。检查我的问题以获得对此的进一步解释