Xml 如何在XPath中选择可变长度的子字符串

Xml 如何在XPath中选择可变长度的子字符串,xml,xpath,Xml,Xpath,我有以下节点: <JConfig diffgr:id="JobSubmissionConfig1" msdata:rowOrder="0"> <JConfigID>12314</JConfigID> <JConfigName>Custom_Assets15</JConfigName> <DataOwnerID>21873497</DataOwnerID> <RunAsUs

我有以下节点:

  <JConfig diffgr:id="JobSubmissionConfig1" msdata:rowOrder="0">
    <JConfigID>12314</JConfigID>
    <JConfigName>Custom_Assets15</JConfigName>
    <DataOwnerID>21873497</DataOwnerID>
    <RunAsUserID>21873497</RunAsUserID>
    <StatusChgEmailAddresses>admin@someemail.com</StatusChgEmailAddresses>
    <InputFolder>Input\JVEND_DATA_ADMIN_12314</InputFolder>
    <HistoryFolder>Processed\JVEND_DATA_ADMIN_12314</HistoryFolder>
 </JConfig>
这确实适用于一些与字符数匹配的用户id,因为文件夹名称将取决于我使用的用户id,所以对于其他用户id,它可能是
“ABVEND_DATA_ADMIN_124587”

给我一些解决方案,让我捕获
输入\“
后的值,然后在下一个请求中使用它。

您可以使用:

或者,你可以把第三个参数放到

它将默认为字符串的结尾

注意,您可能可以将XPath简化为
//InputFolder
,因为

  • 似乎没有任何名称空间在起作用,并且
  • InputFolder
    的字符串值将产生所需的值

  • @kjhughes这就是我在想的,,,在我想得更多之前你已经回答了,,,太好了,非常感谢
       substring(//*[local-name()='InputFolder']/text(), 7, 20)
    
    substring-after(//*[local-name()='InputFolder']/text(), 'Input\')
    
    substring(//*[local-name()='InputFolder']/text(), 7)