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”的情况,但问题还没有解决。
答案 0 :(得分: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;