メインコンテンツまでスキップ

ファイル出力

今回は取得・作成した XML 形式のデータを、ファイルに書き込む方法を解説します。

使用するアクション

今回使用するのは、「XML をファイルに書き込みます」というアクションです。

「XML をファイルに書き込みます」アクションの詳細

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

パラメーター名
ファイルパス書き込み先のファイル名(存在しない場合は作成されます)
書き込む XML書き込む XML データ
エンコードXML データを出力する文字コード
書式設定 XML書き込むデータをフォーマットしなおす場合はチェック
レベルごとにインデントネストされたノードをインデントするスペース数

action

エンコードについて補足

エンコードについては、選択によって文字化けが発生する可能性があります。

Windows のメモ帳でも表示できるようにするには「ANSI」を、出力した XML データを再利用する場合は「UTF-8」を選択することをおすすめします。

アクションを実装する

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

今回はサンプルとして、Google のサイトマップ情報(XML)を取得し、ファイルに書き込むフローを用意しました。

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

Web.InvokeWebService.InvokeWebService Url: $'''https://www.google.com/sitemap.xml''' Method: Web.Method.Get Accept: $'''application/xml''' ContentType: $'''application/xml''' ConnectionTimeout: 30 FollowRedirection: True ClearCookies: False FailOnErrorStatus: False EncodeRequestBody: True UserAgent: $'''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.21) Gecko/20100312 Firefox/3.6''' Encoding: Web.Encoding.AutoDetect AcceptUntrustedCertificates: False Response=> WebServiceResponse StatusCode=> StatusCode
IF StatusCode <> 200 THEN
EXIT Code: 0 ErrorMessage: $'''XMLデータの取得に失敗したため、処理を中断しました。'''
END
XML.WriteXmlToFile.WriteToFileFormatted File: $'''C:\\Users\\Public\\Documents\\google-sitemap.xml''' Xml: WebServiceResponse Encoding: XML.FileEncoding.DefaultEncoding Indentation: 2

Power Automate Desktop を操作して実装

  1. 「アクションの検索」から、「XML をファイルに書き込みます」と入力します。

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

    パラメーター名
    ファイルパスC:\Users\Public\Documents\created-by-pad.xml
    書き込む XML<?xml version="1.0" encoding="UTF-8"?><sample>これはサンプルデータです</sample>
    エンコードUTF-8
    書式設定 XMLチェック
    レベルごとにインデント2
  3. 実行することで、対象ファイルパスに XML データが出力されます。

XML データとして指定したテキスト値は 1 行で記述していますが、書式設定にチェックを入れておくことで、適切な位置で改行・インデントが挿入されます。

起こりうる例外

指定したファイルパスが適切でない場合エラーとなる場合があります、また、XML に書き込み時にもエラーが発生します。

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