首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在XML ArrayOfString中获得特定的字符串?

如何在XML ArrayOfString中获得特定的字符串?
EN

Stack Overflow用户
提问于 2016-03-30 05:43:06
回答 1查看 1.4K关注 0票数 2

我有一个由VS生成的配置文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <applicationSettings>
    <FMR.OrdersRouter.Service.Properties.Settings>
      <setting name="UseSQL" serializeAs="String">
        <value>True</value>
      </setting>
      <setting name="MaxNumOfConnectionsPerUser" serializeAs="String">
        <value>10</value>
      </setting>
      <setting name="DataPath" serializeAs="String">
        <value>C:\Program Files\Common Files\OrdersRouter</value>
      </setting>
      <setting name="CreditChecks" serializeAs="Xml">
        <value>
          <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <string>MAXMOFMARGIN:False</string>
            <string>BRSMAXASHRAI:True</string>
            <string>ADDCASH:False</string>
            <string>BUYPOWER:True</string>
          </ArrayOfString>
        </value>
      </setting>
      <setting name="InternalOrdersRouterServerIP" serializeAs="String">
        <value>172.25.2.186</value>
      </setting>
    </FMR.OrdersRouter.Service.Properties.Settings>
  </applicationSettings>
</configuration>

我想从ArrayOfString.中得到一个特定的字符串我需要在"MAXMOFMARGIN:“或"BRSMAXASHRAI:”或"ADDCASH:“或"BUYPOWER:”之后得到真假值。

我试过这个:

代码语言:javascript
复制
substring-after(/configuration/applicationSettings/FMR.OrdersRouter.Service.Properties.Settings/setting[@name="CreditChecks"]/value/ArrayOfString/string, 'BUYPOWER:')

但是它只适用于字符串数组中的第一个字符串。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-30 13:24:06

substring-after()需要一个单例参数,所以当您的参数表达式返回多个值时,只考虑第一个值。假设string值在给定的ArrayOfString中总是唯一的,那么您可以这样做(简化路径只是为了给出一个易于阅读的示例):

代码语言:javascript
复制
substring-after(//ArrayOfString/string[contains(.,'BUYPOWER:')], 'BUYPOWER:')

XPath作为substring-after()的第一个参数传递给包含文本'BUYPOWER:'string元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36300585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档