我正在使用Oracle 11g,我将文件名传递给函数说
FUNCTION test(file_name IN XMLTYPE)
它接受类似<file1.xml/>
的文件名,但是当我将文件名作为<123.xml/>
传递时,它会抛出Oracle类型异常错误。但是如果我再次将文件名作为<T123.xml/>
从字符开始传递,那么它工作正常。
请告诉我需要做什么来处理文件名<123.xml/>
答案 0 :(得分:2)
<123.xml/>
无效XML:标记名称不能以数字开头(或.
或-
)。关于XML的维基百科文章对结构良好有很好的总结。您发布的另外两个示例是有效的XML,标记名称格式正确。
但是你的用例看起来很奇怪。如果要将简单文件名传递给该函数,为什么不传递普通字符串?如果你确实希望传递一个XML容器中编码的文件名,那么这样的事情会更有意义:
<file name="foo.bar"/>