【问题标题】:Missing encode info on XML header using XMLDOM使用 XMLDOM 在 XML 标头上缺少编码信息
【发布时间】:2016-02-03 10:53:16
【问题描述】:

我想用 xmldom 打印 xml 标头。问题是,它只打印 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);

提前致谢,

伊万

【问题讨论】:

    标签: sql xml oracle plsql xmldom


    【解决方案1】:

    不完全确定为什么 charset 不包含在输出中,但这似乎是一个常见问题。一种替代方法(此处显示: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 时它不包含在输出中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      相关资源
      最近更新 更多