xml - LPX-00230 : invalid character 0 (U+0000) found in a Name or Nmtoken

标签 xml oracle xmltype

我收到:

  • ORA-31011: XML 解析失败
  • ORA-19202:XML 处理时发生错误
  • LPX-00230:在名称或 Nmtoken 中发现无效字符 0 (U+0000)
  • 第 2 行出错
  • ORA-06512:位于“SYS.XMLTYPE”,第 254 行
  • ORA-06512: 在第 1 行

尝试执行时:

select extractValue(
  XMLType(
    replace(myxmlcolumn,CHR(0),''
    )
  ), '/xpath/to/data'
)
foo,bar,foobar
from sch.tab 

WHERE cond='cond'

“myxmlcolumn”当然是 CLOB 数据类型,但包含 XML。如果我没有对 NULL 执行replace(),这个错误就会有意义。这个错误是间歇性的(可能与我的条款的匹配有关)。当 null 应该在 XML 转换之前被替换时,如何报告 null?

10g 企业版版本 10.2.0.5.0、Toad for Oracle pro 10.6.1.3

编辑: - 还尝试用“H”替换以证明它没有插入 NULL(相同的错误) - 还尝试了替换(myxmlcolumn,'\n','',以防它不喜欢 chr(0)(相同的错误)

最佳答案

在我的 Oracle 支持中搜索 LPX-00230,这看起来像 Bug 9871430。

(我会发布更多详细信息,但我认为我们不应该共享该网站的信息。)

关于xml - LPX-00230 : invalid character 0 (U+0000) found in a Name or Nmtoken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322612/

相关文章:

c# - 返回每个 XML 文本元素的 XPath

javascript - JQuery ajax 加载 XML,不适用于 IE 或 Edge

php - 无论我怎么尝试,& 都会变成 XML 中的 &

java - 如何使用 Java 1.4 和 SAX 将任意数据编码为 XML?

sql - 对记录进行分组

xml - 将 GROUP BY 与 XMLCast 和 XMLQuery 结合使用会产生 ORA-22950

java - WAS 8.5 的 WSCallHelper.jdbcCall XMLType 映射实现

sql - 在oracle中使整个列名小写

php - 每 'X' 分钟从 Oracle 数据库查询并显示结果

java - java.lang.ClassCastException : oracle. xdb.XMLType 与 oracle.sql.OPAQUE 不兼容的任何建议解决方案