XQuery技术问题:如何提取XML文件的文件名
提取XML文档URI中的文件名
方法1:使用tokenize()拆分并取最后一项(XPath 2.0及以上支持)
通过斜杠/拆分URI字符串,直接取序列的最后一个元素即可得到文件名:
tokenize(base-uri($doc), '/')[last()]
如果用document-uri($doc),替换函数名即可:
tokenize(document-uri($doc), '/')[last()]
方法2:截取最后一个斜杠后的内容
XPath 3.0及以上可直接用substring-after-last
这是更简洁的写法:
substring-after-last(base-uri($doc), '/')
兼容低版本XPath的写法
如果环境不支持XPath 3.0,可通过反转字符串定位最后一个斜杠:
substring-after(base-uri($doc), substring(base-uri($doc), 1, string-length(base-uri($doc)) - index-of(reverse(base-uri($doc)), '/')))
内容的提问来源于stack exchange,提问作者IL DOGE
相关产品推荐
相关产品推荐

