Power AutomateでXML⇔JSONの変換をする方法
2023-11-10
azblob://2023/11/10/eyecatch/2023-11-10-power-automate-json-xml-interactive-converter-000.jpg

こんにちは、あおいです。
記事投稿数が100本目まで到達しそうなので、怒涛の勢いで執筆しています。11月23日(自分の誕生日)までに達成するのが目標です。



今回はPower AutomateでXML⇔JSONの変換をする方法について紹介したいと思います。XML⇔JSONの変換に関する記事で英語版はたくさんあったんですが、日本語版はあまりなかったんですよね~。ということで、英語が苦手な方に向けてわかりやすく要点だけまとめました。

XML→JSONに変換

以下、XML構文をJSONに変換します。

XML<Profile>
  <Name>Kohei Aoi</Name>
  <Age>25</Age>
  <Job>Engineer</Job>
  <Hobby>Software development</Hobby>
  <Hobby>Write technical articles</Hobby>
  <Hobby>Eat ramen</Hobby>
</Profile>




文字列形式のXMLデータをXML関数でXML形式に変換する必要があります。その後、JSON関数を使用することでJSON形式に変換できます。




ただし、ルートレベルのノード(最上位キー)が1つでなければいけません。ノードが複数存在する場合、以下のエラーを返します。

「The template language function 'xml' parameter is not valid. The provided value cannot be converted to XML: 'Data at the root level is invalid. Line 1, position 1.」

JSON→XMLに変換

以下、JSON構文をXMLに変換します。

{
  "Name": "Kohei Aoi",
  "Age": 25,
  "Job": "Engineer",
  "Hobby": [
    "Software development",
    "Write technical articles",
    "Eat ramen"
  ]
}




JSONを取得し、ノード(最上位キー)を付与します。なお、すでにノードが存在する場合は不要です。




その後、XML関数を使用することでXML形式に変換することができます。




今回はPower AutomateでXML⇔JSONの変換をする方法について紹介させていただきました。本記事が少しでも読者の皆様のお役に立てれば幸いです。




参考記事
Power Automate XPathで多階層JSONから動的キーを取り出す | ITC Engineering Blog
Converting JSON to XML and XML to JSON in a Flow | Power Automate