Разобрать и получить номер вхождения определенного типа в строку xaml - PullRequest
0 голосов
/ 30 апреля 2020

У меня ниже xaml в виде строки, и мне нужно найти номер вхождения типа "ChildWorkflowActivity".

Пожалуйста, предложите несколько методов

"<Activity mc:Ignorable="sads sap" x:Class="{ x: Null}
            " sap:VirtualizedContainerService.HintSize="262,434" mva:VisualBasic.Settings="Assembly references and imported namespaces for internal implementation"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities"
 xmlns:s="clr-namespace:System;assembly=mscorlib"
 xmlns:s1="clr-namespace:System;assembly=System.Core"
 xmlns:s2="clr-namespace:System;assembly=System"
 xmlns:s3="clr-namespace:System;assembly=System.ComponentModel.Composition"
 xmlns:s4="clr-namespace:System;assembly=System.ServiceModel"
 xmlns:s5="clr-namespace:System;assembly=System.Runtime.WindowsRuntime"
 xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
 xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
 xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
 xmlns:si="clr-namespace:SolMateS.Integration;assembly=SolMateS.Integration"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Sequence sap:VirtualizedContainerService.HintSize="222,394">
    <sap:WorkflowViewStateService.ViewState>
      <scg:Dictionary x:TypeArguments="x:String, x:Object">
        <x:Boolean x:Key="IsExpanded">True</x:Boolean>
      </scg:Dictionary>
    </sap:WorkflowViewStateService.ViewState>
    <si:ChildWorkflowActivity ArgumentData = "[{ ({ &quot;DoorStatus&quot;, &quot;True&quot;}), ({ &quot;RecipeName&quot;, &quot;PeerRecipe&quot;})}]" ChildWorflowName="CMR1" sap:VirtualizedContainerService.HintSize="200,22" RetryAlarm="True" />
    <si:DiagnosticActionActivity Parameter3 = "{x:Null}" Parameter4="{x:Null}" Parameter5="{x:Null}" ComponentName="FlowRecipeService" sap:VirtualizedContainerService.HintSize="200,22" MethodName="DiagnosticTestFunction" ModelPath=" " Parameter1="[&quot;123&quot;]" Parameter2="[&quot;True&quot;]" RetryAlarm="True" />
    <si:DiagnosticActionActivity Parameter3 = "{x:Null}" Parameter4="{x:Null}" Parameter5="{x:Null}" ComponentName="FlowRecipeService" sap:VirtualizedContainerService.HintSize="200,22" MethodName="DiagnosticTestFunction" ModelPath=" " Parameter1="[&quot;True&quot;]" Parameter2="[&quot;False&quot;]" RetryAlarm="True" />
    <si:DiagnosticActionActivity ComponentName = "FlowRecipeService" sap:VirtualizedContainerService.HintSize="200,22" MethodName="DiagnosticTestFunction" ModelPath=" " Parameter1="[&quot;True&quot;]" Parameter2="[&quot;False&quot;]" Parameter3="[&quot;Hello&quot;]" Parameter4="[&quot;Hi&quot;]" Parameter5="[&quot;True&quot;]" RetryAlarm="True" />
    <si:DiagnosticActionActivi`enter code here`ty Parameter3 = "{x:Null}" Parameter4="{x:Null}" Parameter5="{x:Null}" ComponentName="PM.TagAccessService.OpcUaTAS" sap:VirtualizedContainerService.HintSize="200,22" MethodName="WriteValue" ModelPath=" " Parameter1="[&quot;DoorOpen&quot;]" Parameter2="[&quot;True&quot;]" RetryAlarm="True" />
  </Sequence>
</Activity>"

1 Ответ

0 голосов
/ 30 апреля 2020

Попробуйте это:

var count = string.Split("ChildWorkflowActivity").Length - 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...