代码之家  ›  专栏  ›  技术社区  ›  Fredou

接收值为null的xml,而实际值为null

  •  2
  • Fredou  · 技术社区  · 14 年前

    结果返回类似

    <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\u nm、en\u shrt\u dscrptn、fr\u shrt\u dscrptn在数据库中为null,它们不包含值“null”。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jim Garrison    14 年前

    尝试使用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的转换是如何发生的,并查看是否有方法在那里指定空处理选项。

        2
  •  0
  •   azathoth    14 年前

    可以使用XSLT转换从节点内容中删除NULL。请查查我的问题以进一步解释