使用 XMLDOM 在 XML header 上缺少编码信息
Missing encode info on XML header using XMLDOM
我想用 xmldom 打印 xml header。问题是,它只打印 xml 版本但缺少编码信息。
我得到了什么:
<?xml version="1.0"?>
我想要的:
<?xml version="1.0" encoding="UTF-8"?>
我正在使用 ORACLE 11g
这是我目前得到的:
doc := xmldom.newdomdocument;
xmldom.setversion(doc,'1.0');
xmldom.setCharset(doc,'UTF-8');
mainNode := xmldom.makeNode(doc);
rootElmt := xmldom.createElement(doc,'Dokument');
rootNode := xmldom.appendChild (mainNode,xmldom.makeNode(rootElmt));
SetCurNode (rootNode);
dbms_lob.createTemporary(vClob,true);
dbms_xmldom.writeToClob (doc,vClob);
xmldom.freedocument (doc);
提前致谢,
伊万
不完全确定为什么字符集未包含在输出中,但这似乎是一个常见问题。一种替代方法(此处显示:https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2791321000346652231)是执行以下操作:
xmldom.setVersion(doc,'1.0" encoding="UTF-8');
编辑:显然,除非您使用 writeToFile 过程,否则您指定的字符集将被忽略,这可以解释为什么在使用 writeToClob 时它没有包含在输出中
我想用 xmldom 打印 xml header。问题是,它只打印 xml 版本但缺少编码信息。
我得到了什么:
<?xml version="1.0"?>
我想要的:
<?xml version="1.0" encoding="UTF-8"?>
我正在使用 ORACLE 11g
这是我目前得到的:
doc := xmldom.newdomdocument;
xmldom.setversion(doc,'1.0');
xmldom.setCharset(doc,'UTF-8');
mainNode := xmldom.makeNode(doc);
rootElmt := xmldom.createElement(doc,'Dokument');
rootNode := xmldom.appendChild (mainNode,xmldom.makeNode(rootElmt));
SetCurNode (rootNode);
dbms_lob.createTemporary(vClob,true);
dbms_xmldom.writeToClob (doc,vClob);
xmldom.freedocument (doc);
提前致谢,
伊万
不完全确定为什么字符集未包含在输出中,但这似乎是一个常见问题。一种替代方法(此处显示:https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2791321000346652231)是执行以下操作:
xmldom.setVersion(doc,'1.0" encoding="UTF-8');
编辑:显然,除非您使用 writeToFile 过程,否则您指定的字符集将被忽略,这可以解释为什么在使用 writeToClob 时它没有包含在输出中