「XMLノード属性を取得」アクティビティのご紹介をします。
1.アクティビティのプログラム名
RCA.Activities.Core.GetXMLNodeAttributes
2.説明
Studio バージョン 2.0.2.0まで
クイックアクセス: 「ツールボックス」 > 「Xml」 > 「XMLノード属性を取得」
Studio バージョン 2.0.3.0から
クイックアクセス: 「ツールボックス」 > 「コア」 >「Xml」 > 「XMLノード属性を取得」
XMLノードの属性を取得します。
※動作を確認したコボットStudioのバージョン:2.1.1.2
※バージョンによって文言などが一部異なる場合がございます
3.プロパティ
プロパティ項目 | プロパティ名 | 入力欄 | 説明 |
---|---|---|---|
その他 | パブリック | チェック項目 | ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照) |
表示名 | 任意の文字列 | デザイナーパネルのアクティビティ名に反映される。 | |
出力 | 属性 | 値を入力(IEnumerable<XAttribute>型) | 取得したXMLノード属性を含む変数を設定する。 |
入力 | 既存XMLノード | 値を入力(XNode型) | 属性を取得するXMLノードを設定する。 |
4.使い方
事前準備として、プロジェクトフォルダ内配下に「Data」フォルダを作成し、その中にxmlファイルを作成しておきます。
※今回の例では、下図の「sample.xml」を作成し、属性の名前を「id」、属性の値を「01」、「02」、「03」としてそれぞれ記述しています。
まず「コア」>「ファイル」>「テキストファイルを読み込む」をドラッグ&ドロップし、配置します。
プロパティにある「ファイル」>「ファイル名」に文字列かString型の変数( この例の場合では、文字列で「 "Data\Sample.xml" 」)を入力し、さらに「出力」>「テキスト」に、String型の変数( この例の場合では「 xml 」)を入力します。
※変数の作成については「変数の作成」をご参照ください。
次に「コア」>「Xml」>「XMLをデシリアライズ」をドラッグ&ドロップし、配置します。
プロパティにある「出力」>「XMLドキュメント」にXDocument型の変数( この例の場合では「 xmlDeserialize 」)を入力し、さらに「入力」>「XML文字列」に、String型の変数( この例の場合では「 xml 」)を入力します。
※XDocumentについては「 XDocument クラス(Microsoft)」をご参照ください。
【参考】
変数パネルでXDocument型の変数を作成する際は、「型の参照」をクリックし、「型の名前」にXDocumentと入力します。次に、表示された中から「 System.Xml.Linq 」内にある「 XDocument 」を選択し「 OK 」をクリックします。
さらに「コア」>「Xml」>「ノードを取得」をドラッグ&ドロップし、配置します。
プロパティにある「出力」>「XMLノード」にIEnumerable<XNode>型の変数( この例の場合では「 xmlNodes 」)を入力し、さらに「入力」>「既存XML」に、XDocument型の変数( この例の場合では「 xmlDeserialize 」)を入力します。
※XNodeについては「XNode クラス(Microsoft)」をご参照ください。
【参考】
変数パネルでIEnumerable<XNode>型の変数を作成する際は、「型の参照」をクリックし、「型の名前」に「 IEnumerable 」と入力します。その後「 System.Collections.Generic 」内にある「 IEnumerable <T>」をクリックします。
【参考】
グレーの枠の部分をクリックします。
【参考】
さらに「型の名前」に「 XNode 」と入力し、、表示された中から「 System.Xml.Linq 」内にある「 XNode 」を選択し「 OK 」をクリックします。
【参考】
「 System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> 」と表示されている事を確認し、「 OK 」をクリックします。
今度は、「コア」>「Xml」>「XMLノード属性を取得」をドラッグ&ドロップし、配置します。
プロパティにある「出力」>「属性」にIEnumerable<XAttribute>型の変数( この例の場合では「 xmlAttribute 」)を入力し、さらに「入力」>「既存XMLノード」に、IEnumerable<XNode>型の変数( この例の場合では「 xmlNodes(0) 」)を入力します。
※XAttributeについては「 XAttributeクラス(Microsoft)」をご参照ください。
【参考】
変数パネルでIEnumerable<XAttribute>型の変数を作成する際は、「型の参照」をクリックし、「型の名前」に「 IEnumerable 」と入力します。その後「 System.Collections.Generic 」内にある「 IEnumerable <T>」をクリックします。
【参考】
グレーの枠の部分をクリックします。
【参考】
さらに「型の名前」に「 XAttribute 」と入力し、、表示された中から「 System.Xml.Linq 」内にある「 XAttribute 」を選択し「 OK 」をクリックします。
【参考】
「 System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> 」と表示されている事を確認し、「 OK 」をクリックします。
実行結果確認のために「コア」>「ダイアログ」>「メッセージボックス」を配置し、プロパティの「入力」>「テキスト」に値(この例では「 xmlAttribute(0).ToString 」)を入力します。
「ホーム > スタート」をクリック、または、「F5キー」押下でワークフローを実行します。「メッセージボックス」内に属性の名前「id」と属性の値「01」が表示されている事を確認してください。
【参考】
「 XMLノード属性を取得 」のプロパティにある「入力」>「既存XMLノード」に「 xmlNodes(2) 」と入力した場合の実行結果