🛝
Power Automate Desktop で XML - XPath 式
XPath 式
前回 PAD の XML アクションを使いましたが、ファイルを読み込んで要素を追加しただけでした。
Power Automate Desktop で XML ファイルの編集
定義を重複して作成しないようにする必要があるけどやり方がわからなかったので、じゃあフォルダーが存在していたら定義も作成済みでいいよね。みたいな。よくないんですけど。
今回は改良します。すでに定義が存在しているか確認して、あったらスキップ。なかったら追加するようにしたいと思います。
XML ドキュメントに特定の要素があるか調べるには、XPath クエリを書く必要があります。
でも一つ問題がありまして…………XPath わからん。
Xpath の記法は以下が参考になりました。ありがとうございました!
クエリ
書いた。
XPath クエリ
//Strategy[contains(Regex, "%タイトル%")]
もうちょっと説明します。
クエリを実行するドキュメントは、以下のようになっています。
定義ファイル
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Strategies>
<Strategy name="">
<Regex></Regex>
<DestDir></DestDir>
</Strategy>
<Strategy name="">
<Regex></Regex>
<DestDir></DestDir>
</Strategy>
<Strategy name="">
<Regex></Regex>
<DestDir></DestDir>
</Strategy>
</Strategies>
Regex
の値を調べて、%タイトル%
の要素があるかどうか知りたい。
実行するとこんな感じで戻ってきます。
あり。
なし。
↓
条件分岐に%XPathResult%
が空ではない
で試したところ、空のときでもTrue
になってしまいました。空白ではない
も同じ。
先頭が<
で始まっていたら。という指定にしたらうまくいきました。
こうなった。
続き。
Discussion