ファイル出力
今回は取得・作成した XML 形式のデータを、ファイルに書き込む方法を解説します。
使用するアクション
今回使用するのは、「XML をファイルに書き込みます」というアクションです。
「XML をファイルに書き込みます」アクションの詳細
アクションは以下のパラメーターを持ちます。
パラメーター名 | 値 |
---|---|
ファイルパス | 書き込み先のファイル名(存在しない場合は作成されます) |
書き込む XML | 書き込む XML データ |
エンコード | XML データを出力する文字コード |
書式設定 XML | 書き込むデータをフォーマットしなおす場合はチェック |
レベルごとにインデント | ネストされたノードをインデントするスペース数 |
エンコードについて補足
エンコードについては、選択によって文字化けが発生する可能性があります。
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 を操作して実装
「アクションの検索」から、「XML をファイルに書き込みます」と入力します。
パラメーターを以下のように設定します
パラメーター名 値 ファイルパス C:\Users\Public\Documents\created-by-pad.xml 書き込む XML <?xml version="1.0" encoding="UTF-8"?><sample>これはサンプルデータです</sample>
エンコード UTF-8 書式設定 XML チェック レベルごとにインデント 2 実行することで、対象ファイルパスに XML データが出力されます。
XML データとして指定したテキスト値は 1 行で記述していますが、書式設定にチェックを入れておくことで、適切な位置で改行・インデントが挿入されます。
起こりうる例外
指定したファイルパスが適切でない場合エラーとなる場合があります、また、XML に書き込み時にもエラーが発生します。
ブロック処理を実装しておくことをおすすめします。