我已经编写了一个用于解析XML的COBOL模块。XML值存储在DB2表中,我正在运行一个select查询来读取XML值。但是在解析的时候,在第一个实例上,它抛出了一个异常,XML-CODE = 317。我对这个XML代码进行了搜索,发现这个错误的描述如下:“解析器无法确定文档编码。文档可能已损坏。”
XML没有问题,否则在插入到DB2表中时会抛出错误。XML中的第一个标记也是正确的。
有人能帮我解决这个问题吗?
谢谢
发布于 2013-06-11 16:54:36
您可能需要在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"?>发布于 2013-06-11 19:59:20
你给了我们一些有用的信息..。
最初是UTF-8
你的COBOL代码是用什么CODEPAGE选项编译的?可能会发生自动转换,可能在从DB2检索后,报头和编码不再匹配。
您正在解析PIC X字段还是PIC N字段?
另外,我建议使用编译选项XMLPARSE(XMLSS),因为“原生COBOL”解析器从Enterprise COBOL5.1开始就被弃用了。
https://stackoverflow.com/questions/17037494
复制相似问题