我需要在 xml 文档中添加命名空间详细信息。
我已经有了命名空间
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
和 xml 数据在
l_xmltype :=dbms_xmldom.getXmlType(l_domdoc);
dbms_xmldom.freeDocument(l_domdoc);
dbms_output.put_line(l_xmltype.getClobVal);
此 l_xmltype 是没有命名空间的纯 XML。如何将命名空间与此连接 l_xmltype .请帮忙
最佳答案
如果只是
<?xml version="1.0" stadalone="yes"?>
那么你就会使用函数 XMLROOT .
XMLROOT
但是不支持编码标签。您可以通过使用 XMLROOT 将“版本”的参数值为 '1.0" encoding="utf-8'
来“破解”您的方式。而不是 '1.0'
如回答 here .但是不建议这样做。如果您可以访问 oracle 支持,请阅读文档 Doc ID 1449682.1 . Oracle 建议您改为这样做 -
SELECT
XMLTYPE(
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'
|| l_xmlvariable_or_column
)
FROM MY_TABLE;
请记住,
encoding="xxxx"
在上面的语句中自动更改为客户端请求的字符集。要将其设置为 utf-8,请设置 NLS_LANG
AL32UTF8
的参数.
关于xml - 在 oracle 的 XML 文档中添加命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207498/