要素の値の取得
今回は既存の XML ファイルから、特定の要素の値を取得する方法を解説します。
ファイル出力取得・作成したXML形式のデータを、ファイルに書き込む方法を解説します。
使用するアクション
Section titled “使用するアクション”今回使用するのは、「XML 要素の値を取得します」というアクションです。
「XML 要素の値を取得します」アクションの詳細
Section titled “「XML 要素の値を取得します」アクションの詳細”アクションは以下のパラメーターを持ちます。
| パラメーター名 | 値 |
|---|---|
| XML ドキュメント | 対象 XML データ(XML ノードオブジェクトである必要があります) |
| XPath クエリ | XPath 方式で取得したい値を指定する |
| 次として値を取得する | テキスト値・数値・Datetime 値・ブール値から選択。テキスト値以外を指定した場合、指定のデータ型に変換される |
| 生成された変数 | 取得された値 |

データが文字化けしてしまう場合
Section titled “データが文字化けしてしまう場合”XML ファイルを読み込んで XML ノードオブジェクトを作成する際、ファイルの文字コードと「エンコード」の設定が合っていないと、文字化けが発生する可能性があります。
文字化けしてしまう場合は、以下のページをご参照ください。
文字化けへの対処Power Automate ではウェブ、オンプレミス問わず自動化することができますが、外部データを取り扱う場合、文字コードにも注意する必要があります。今回は出力したファイルが文字化けしてしまう場合の対処法を解説します。
アクションを実装する
Section titled “アクションを実装する”サンプルフローをコピーアンドペーストで追加する
Section titled “サンプルフローをコピーアンドペーストで追加する”今回はサンプルとして、XML データをファイルに保存した後、その一部の値を別の変数として取得するフローを用意しました。
XML は直接記述し、以下のような構造です。
<sample> <data> <content>テストデータです</content> </data></sample>以下のコードをコピーし、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: 2XML.ReadFromFile File: FilePath Encoding: XML.FileEncoding.UTF8 XmlDocument=> XmlDocumentXML.GetXmlElementValue.GetElementValue Document: XmlDocument XPathQuery: $'''/sample/data/content''' TextValue=> XmlElementValuePower Automate Desktop を操作して実装
Section titled “Power Automate Desktop を操作して実装”-
「アクションの検索」から、「XML 要素の値を取得します」と入力します。
-
パラメーターを以下のように設定します。
パラメーター名 値 XML ドキュメント %XmlDocument% XPath クエリ /sample/data/content 次として値を取得する テキスト値 -
実行することで、XML データの一部が変数に格納されます。
起こりうる例外
Section titled “起こりうる例外”XPath の書式に誤りがあったり、無効な XPath を指定した場合にエラーとなります。
「XPath 式は要素を返しません」というエラーは、XPath の書式としては誤りがないものの、指定した XPath が要素を返さない場合(一致する要素がない場合など)に発生します。
また、データ型を指定した場合、そのデータ型に正しく変換できないようなデータが渡された際にもエラーとなります。
ブロック処理を実装しておくことをおすすめします。