コンテンツにスキップ

要素の追加

今回は既存の XML ファイル、XML データに、要素を追加する方法を解説します。

今回使用するのは、「XML 要素を挿入します」というアクションです。

「XML 要素を挿入します」アクションの詳細

Section titled “「XML 要素を挿入します」アクションの詳細”

アクションは以下のパラメーターを持ちます。

パラメーター名 値
XML ドキュメント 対象となる XML データ(XML ノードオブジェクトである必要があります)
XPath クエリ 要素の挿入先となる親要素を XPath 方式で指定
挿入する XML 要素 挿入する XML データ

action

サンプルフローをコピーアンドペーストで追加する

Section titled “サンプルフローをコピーアンドペーストで追加する”

今回はサンプルとして、XML データをファイルに保存した後、再度データを取得し要素を追加するフローを用意しました。

以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。

SET FilePath TO $'''C:\\Users\\Public\\Documents\\sample.xml'''
XML.WriteXmlToFile.WriteToFileFormatted File: FilePath Xml: $'''<sample><data><content>テストデータです</content></data></sample>''' Encoding: XML.FileEncoding.UTF8 Indentation: 2
XML.ReadFromFile File: FilePath Encoding: XML.FileEncoding.UTF8 XmlDocument=> XmlDocument
XML.InsertElement Document: XmlDocument XPathQuery: $'''/sample/data''' Element: $'''<insert>PADから追加されたコンテンツ</insert>'''

実行前の状態では、XML は以下のような状態です。

<sample>
<data>
<content>テストデータです</content>
</data>
</sample>

実行後は、変数 XmlDocument の内容が以下のように変化します。

<sample>
<data>
<content>テストデータです</content>
<insert>PADから追加されたコンテンツ</insert>
</data>
</sample>

Power Automate Desktop を操作して実装

Section titled “Power Automate Desktop を操作して実装”
  1. 「アクションの検索」から、「XML 要素を挿入します」と入力します。

  2. パラメーターを以下のように設定します。

    パラメーター名 値
    XML ドキュメント %XmlDocument%
    XPath クエリ /sample/data
    挿入する XML 要素 <insert>PADから追加されたコンテンツ</insert>
  3. 実行することで、対象 XML データに指定した要素が追加されます。

このアクションで変更されるのは変数(XML ノード)の内容のみで、元の XML ファイルは更新されません。ファイルに反映する場合は、続けて「XML をファイルに書き込みます」アクションで書き込んでください。

XPath の書式に誤りがあったり、無効な XPath を指定した場合にエラーとなります。

書式に誤りがなかったとしても、指定した XPath が要素を返さない場合(一致する要素がない場合など)はエラーとなります。

また、要素の挿入処理そのものに失敗した場合もエラーとなります。

ブロック処理を実装しておくことをおすすめします。