使用 XPath 拆分节点值
XPath 中有某种 split()
函数吗? 假设我有这个 XML:
<root>
<path>C:\folder\filename</path>
</root>
并且我想检索文件名
,我该怎么做?我知道我可以像这样获取节点值:
//path/text()
How can I get only the filename? (我知道有一个 concat() 函数,所以也许有一个 split() 函数?)
Is there some kind of split()
function in XPath?
Say I have this XML:
<root>
<path>C:\folder\filename</path>
</root>
And I want to retrieve filename
, how can I do this? I know I can get the node value like this:
//path/text()
How can I get only the filename? (I know there is a concat()
function, so maybe there is a split()
function?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有支持 xpath-2.0 的 API,则可以通过两种方式解决此问题:
替换技术
尝试使用:
例如
tokenize 技术
您可能会从 tokenize 中获得一些收益:
例如 (感谢 Martin)
w3schools xml 处理“xsl 函数”文档
If you have an xpath-2.0 capable API, you can solve this in two ways:
replace technique
Try using:
e.g.
tokenize technique
You may get some mileage from tokenize:
e.g. (thanks to Martin)
w3schools xml processing "xsl functions" documentation
虽然我会使用:
还有许多其他方法来获取所需的字符串:
或者:
While I would use:
there are also numerous other ways to obtain the desired string:
Or: