PowerShellを使用して複数のXMLファイルをオブジェクトにキャストするにはどうすればよいですか?すべてのXMLファイルをXMLオブジェクトとしてキャストするにはどうすればよいですか?
たちは、XMLファイルのディレクトリ
$xmlfiles = Get-ChildItem C:\Directory -Filter *.xml
foreach ($file in $xmlfiles) {
[xml]$file Get-Content $_
}
があると私は続行するかどうかはわからない - 私たちは、それが通過する際に、各ファイルを照会したい場合、我々は、ネストされたforeach
が必要なのでしょうか?
私はXMLとしてキャストして、複数のドキュメントにわたって簡単なクエリを作成しています。 すべてのドキュメントに同じスキーマがあり、すべてのドキュメントから一貫したノードと属性のセットを選択したいと考えています。
私はコメント
foreach ($file in $xmlfiles) {
Select-Xml $file -Xpath "//node2"
}
で提案されているように試してみましたが、私は、実行時例外を取得:
Cannot convert value "sample-document.xml" to type "System.Xml.XmlDocument". Error: "The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type." At line:1 char:10 + foreach ($file in $xmlfiles) { + ~~~~~ + CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException + FullyQualifiedErrorId : RuntimeException
これらのファイルをクエリするための情報をもう少し提供してください。ファイルの内容を '[xml]'としてキャストする必要はないかもしれません( 'Select-Xml'はあなたのためのより簡単なオプションかもしれません) –
オハイオ州オハイオ州 - 私はそれを知らなかった - 私は質問を更新します。 – Sum1sAdmin