XML 文字列またはドキュメントのテキストを検索します。
構文
Select-XML -Content <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Path] <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>]
説明
Select-XML コマンドレットでは、XPath クエリを使用して XML 文字列およびドキュメントのテキストを検索できます。XPath クエリを入力し、Content、Path、または Xml の各パラメーターを使用して、検索する XML を指定します。
パラメーター
-Content <string[]>
検索する XML を含む文字列を指定します。パイプを使用して、文字列を Select-XML に渡すこともできます。
必須 |
true |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-Namespace <hashtable>
XML で使用される名前空間のハッシュ テーブルを指定します。@{<namespaceName> = <namespaceValue>} という形式を使用します。
必須 |
false |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Path <string[]>
検索する XML ファイルのパスとファイル名を指定します。ワイルドカードを使用できます。
必須 |
true |
位置 |
2 |
既定値 |
なし |
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
true |
-Xml <XmlNode[]>
1 つまたは複数の XML ノードを指定します。各コマンドには Path パラメーターまたは XML パラメーターが必須です。
XML ドキュメントは、XML ノードの集合として処理されます。パイプを使用して XML ドキュメントを Select-XML に渡す場合、各ドキュメント ノードは、パイプラインへの到達に応じて個別に検索されます。
必須 |
true |
位置 |
2 |
既定値 |
なし |
パイプライン入力を許可する |
true (ByValue, ByPropertyName) |
ワイルドカード文字を許可する |
false |
-Xpath <string>
XPath 検索クエリを指定します。クエリ言語では、大文字と小文字が区別されます。このパラメーターは必須です。
必須 |
true |
位置 |
1 |
既定値 |
なし |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.String または System.Xml.XmlNode パイプを使用してパスまたは XML ノードを Select-XML に渡すことができます。 |
出力 |
System.Xml.XmlElement または System.Xml.XmlText |
注
XPath は、XML ドキュメントの部分を識別するために設計された標準言語です。XPath 言語の詳細については、MSDN (Microsoft Developer Network) ライブラリの「Event Selection (イベントの選択)」トピック (https://go.microsoft.com/fwlink/?LinkId=143608) の「Selection Filters (選択フィルター)」セクションを参照してください。MSDN ライブラリの「XPath リファレンス」(http://msdn.microsoft.com/ja-jp/library/ms256115.aspx) も参照してください。
例 1
C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty" 説明 ----------- この例では、Types.ps1xml ファイル内で AliasProperty ノードの子項目を検索します。
例 2
C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name" 説明 ----------- このコマンドは、Select-XML を使用して、複数の XML ファイルで検索を行います。
例 3
C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -xml $Types -xpath "//MethodName" 説明 ----------- この例では、パイプを使用して XML ドキュメントを Search-Path に渡す方法を示します。
例 4
C:\PS>$namespace = @{command="https://schemas.microsoft.com/maml/dev/command/2004/10"; maml="https://schemas.microsoft.com/maml/2004/10"; dev="https://schemas.microsoft.com/maml/dev/2004/10"} C:\PS> $path = "$env:windir\System32\WindowsPowerShell\V1.0\en-us\*dll-Help.xml" C:\PS> select-xml -path $path -namespace $namespace -xpath "//command:name" Text Node Path ---- ---- ---- Add-Computer name C:\Windows\System32\WindowsPowerShell\V... Add-Content name C:\Windows\System32\WindowsPowerShell\V... Checkpoint-Computer name C:\Windows\System32\WindowsPowerShell\V... Clear-Content name C:\Windows\System32\WindowsPowerShell\V... Clear-EventLog name C:\Windows\System32\WindowsPowerShell\V... ... 説明 ----------- この例では、Select-XML コマンドレットを使用して Windows PowerShell XML ベースのコマンドレット ヘルプ ファイルを検索する方法を示します。 最初のコマンドは、XML 名前空間を表すハッシュ テーブルを作成し、$namespace 変数に格納します。 2 番目のコマンドは、ヘルプ ファイルのパスを $path 変数に格納します。 3 番目のコマンドは、Select-Xml を使用して XML を検索し、ファイルの任意の場所にある Command:Name タグを検出することによってコマンドレット名を探し出します。
例 5
C:\PS>select-xml -content $xml -xpath "//edition" C:\PS> $xml = @" <?xml version="1.0" encoding="utf-8"?> <Book> <projects> <project name="Book1" date="2009-01-20"> <editions> <edition language="English">En.Book1.com</edition> <edition language="German">Ge.Book1.Com</edition> <edition language="French">Fr.Book1.com</edition> <edition language="Polish">Pl.Book1.com</edition> </editions> </project> </projects> </Book> "@ C:\PS> select-xml -content $xml -xpath "//edition" Text Node Path ---- ---- ---- En.Book1.com edition InputStream Ge.Book1.Com edition InputStream Fr.Book1.com edition InputStream Pl.Book1.com edition InputStream C:\PS> $xml | select-xml -xpath "//edition" Text Node Path ---- ---- ---- En.Book1.com edition InputStream Ge.Book1.Com edition InputStream Fr.Book1.com edition InputStream Pl.Book1.com edition InputStream 説明 ----------- この例では、Select-XML の Content パラメーターを使用して、here-string の XML コンテンツを検索しています。 最初のコマンドは、here-string を $xml 変数に格納します。 2 番目のコマンドは、Content パラメーターを使用して、$xml 変数に XML を指定します。 3 番目のコマンドは、2 番目のコマンドと同じです。パイプライン演算子 (|) を使用して、$xml 変数の XML を Select-XML コマンドレットに送信します。 here-string の詳細については、「about_Quoting_Rules」と入力してください。
関連項目