Select-Xml
Select-Xmlは、XMLを検索するコマンドです。
エイリアスなし
解説
XML文字列やXMLファイルからデータを抽出します。
構文
- (構文)
- Select-Xml [-XPath] <string> [-Xml] <XmlNode[]> [<CommonParameters>] Select-Xml [-XPath] <string> [-Path] <string[]> [<CommonParameters>] Select-Xml [-XPath] <string> [<CommonParameters>]
パラメータ | 説明 |
---|---|
-Path パス | 検索対象のXMLファイルのパスを指定する (ワイルドカード使用可) (例)-Path "D:\sample.xml" |
-LiteralPath パス | 対象パスを指定する(ワイルドカード使用不可) (例)-LiteralPath "D:\test" |
-Xml | 検索対象のXMLノードを直接指定する |
-Content XML文字列 | 検索対象のXML文字列を指定する |
-XPath Xパス | XML文書内の要素を検索するためのXPath式を指定する(必須) (例)-XPath "//item/name" |
-Namespace | XMLで使用される名前空間をハッシュテーブルとして指定する |
共通的なパラメータは「共通パラメータ」をご覧ください。
サンプル
XML文字列から要素を抽出する
PS C:\>$xml = @"
<items>
<item>
<name>みかん</name>
<price>50</price>
</item>
<item>
<name>りんご</name>
<price>200</price>
</item>
<item>
<name>もも</name>
<price>400</price>
</item>
</items>
"@
PS C:\>Select-Xml -Content $xml -XPath "//item/name" | ForEach-Object {$_.Node.InnerXML}
⇒
みかん
りんご
もも
XML文字列から条件に一致する要素を検索する
Select-Xml -Content $xml -XPath "//item[price='200']/name" | ForEach-Object {$_.Node.InnerXML}
⇒ りんご
XMLファイルから条件に一致する要素を検索する
Select-Xml -Path "D:\sample.xml" -XPath "//item[price='200']/name" | ForEach-Object {$_.Node.InnerXML}
コマンドのヘルプを表示する
Get-Help Select-Xml
備考
- バッチファイル内で使用する場合は、エラーハンドリング処理を行うことをお勧めします。
関連項目
- Xml系コマンドレット
- ConvertTo-Xml:XMLに変換する
- Select-Xml:XMLを検索する