VS tarafından oluşturulan bir yapılandırma dosyası vardır:XML ArrayOfString'de belirli dizeler nasıl alınır?
<?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>
ve ben ArrayOfString belirli bir dize almak istiyorum. "BUYPOWER:" veya
bu çalıştı: "MAXMOFMARGIN:" veya "BRSMAXASHRAI:" veya "ADDCASH" Ben sonra Doğru/Yanlış değerini almak gerekirsubstring-after(/configuration/applicationSettings/FMR.OrdersRouter.Service.Properties.Settings/setting[@name="CreditChecks"]/value/ArrayOfString/string, 'BUYPOWER:')
Ama sadece çalışır dize dizisindeki ilk dize.
Herhangi bir öneriniz var mı?
Eğer XPath'in sadece 'hedefinin öğesinin ilk alt öğesi olması durumunda çalışacağını kastediyorsunuz (yani yukarıdaki örnekte, sadece" MAXMOFMARGIN: 'bulmak için çalışır)? –
har07
Evet. Tam olarak demek istediğim bu. Sanırım her çocuk dizesi arasındaki yeni satırın yolu, alt dizenin ilk argümanı için – user2787787