我编写了一个用于解析 XML 的 COBOL 模块。XML 值存储在 DB2 表中,我正在运行一个选择查询来读取 XML 值。但是在解析时,第一个实例本身抛出了 XML-CODE = 317 的异常。我对此 XML 代码进行了搜索,发现此错误的描述如下 - '解析器无法确定文档编码。文件可能已损坏。
XML 没有问题,否则在插入 DB2 表时会引发错误。XML 中的第一个标签也是正确的。
有人可以帮我解决这个问题。
谢谢
我编写了一个用于解析 XML 的 COBOL 模块。XML 值存储在 DB2 表中,我正在运行一个选择查询来读取 XML 值。但是在解析时,第一个实例本身抛出了 XML-CODE = 317 的异常。我对此 XML 代码进行了搜索,发现此错误的描述如下 - '解析器无法确定文档编码。文件可能已损坏。
XML 没有问题,否则在插入 DB2 表时会引发错误。XML 中的第一个标签也是正确的。
有人可以帮我解决这个问题。
谢谢
您可能必须在 XML 标头上指定编码。
以下是一些示例编码。
<?xml version="1.0" encoding="us-ascii"?>
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
你给了我们一些有用的信息……
您的 COBOL 代码是用什么CODEPAGE选项编译的?可能会发生自动转换,可能标头和编码在从 DB2 检索后不再匹配。
您是在解析 PIC X 字段还是 PIC N 字段?
另外,我建议使用编译选项XMLPARSE(XMLSS),因为自 Enterprise COBOL 5.1 起已弃用“本机 COBOL”解析器。