Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oracle xml解析提供无效字符错误_Xml_Oracle_Oracle11g - Fatal编程技术网

oracle xml解析提供无效字符错误

oracle xml解析提供无效字符错误,xml,oracle,oracle11g,Xml,Oracle,Oracle11g,我正在使用Oracle 11G sql developer的导出实用程序将表格数据转换为XML。为此,我使用了utf-8编码。我在DB中看到的特殊字符(0x13)是方形框,现在已经变成了xml。为了去掉这个特殊字符,我们需要在SQLDeveloper中选择其他编码吗 我面临的问题是,当我尝试将上述创建的xml文件插入不同的Oracle表(使用xmltable函数)时,“xml解析失败”。我得到下面的错误 ORA-31011: XML parsing failed ORA-19202: Error

我正在使用Oracle 11G sql developer的导出实用程序将表格数据转换为XML。为此,我使用了utf-8编码。我在DB中看到的特殊字符(0x13)是方形框,现在已经变成了xml。为了去掉这个特殊字符,我们需要在SQLDeveloper中选择其他编码吗

我面临的问题是,当我尝试将上述创建的xml文件插入不同的Oracle表(使用xmltable函数)时,“xml解析失败”。我得到下面的错误

ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00216: invalid character 0 (0x13)
Error at line 10682
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 0
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 26
ORA-06512: at line 9

如果我手动删除xml文件中的特殊字符,它就可以正常工作了。但是我想在不删除它们的情况下使其工作。

您可以通过
REPLACE
功能删除特殊字符-只需通过空白替换CHR(13):

REPLACE(arg1, CHR(13), '');

您可以使用Oracle提供的函数
dbms\u xmlgen.convert(…)


没有坏字符列表就没用了
dbms_xmlgen.convert(arg1)