Skip to main content

ファイル出力

今回は取得・作成した 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 に書き込み時にもエラーが発生します。

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