0

科尔斯,你好。我无法关闭空标签“密码”。有我的代码:

select
XMLROOT(
        XMLELEMENT("prod",
                XMLELEMENT("prod2",
                           XMLELEMENT("quest",
                                      XMLELEMENT("request",
                                                  XMLELEMENT("OutputFormat", 'XML'),
                                                  XMLELEMENT("lang", 'ru'),
                                                       XMLELEMENT("RequestReq",
                                                                 XMLELEMENT("User", 'Мyya'),
                                                                 XMLELEMENT("Password", null)
                                                                 )


                                                )
                                      )
                          )
                  ),

         version '1.0" encoding="windows-1251')  as XML from dual;

如果您运行此代码标签“密码”将被打开:

<Password/>

但我需要像这样关闭它:

<Password></Password/>

那么......有人可以帮我关闭“密码”标签吗?我尝试了一些“替换”和“xmlattributes”的案例,但问题还没有解决。

4

1 回答 1

1

我在密码中添加了一个值(a*1*c*3),然后用 null 替换了该值。您可以添加不经常出现的值或字符集以避免任何数据问题

select
REPLACE((XMLROOT(
        XMLELEMENT("prod",
                XMLELEMENT("prod2",
                           XMLELEMENT("quest",
                                      XMLELEMENT("request",
                                                  XMLELEMENT("OutputFormat", 'XML'),
                                                  XMLELEMENT("lang", 'ru'),
                                                       XMLELEMENT("RequestReq",
                                                                 XMLELEMENT("User", 'Мyya1'),
                                                                 XMLELEMENT("Password",'a*1*c*3')
                                                                 )


                                                )
                                      )
                          )
                  ),

         version '1.0" encoding="windows-1251')),'a*1*c*3',null)  as XML from dual;
于 2013-08-02T15:32:31.133 回答