2013-08-02 33 views
0

科爾斯,你好。 我無法關閉空標籤「密碼」。這裏是我的代碼:如何關閉XMLELEMENT中的emty標籤?

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」嘗試了一些情況,但問題還沒有解決。

回答

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;