select-xml
を使用して、SharePointソリューションからいくつかの問題を根絶しようとしています。私はいくつかの機能を含むソリューションディレクトリを持っていて、それぞれのfeature.xml
を開き、機能の名前を手で選択してリストに入れるのではなく、powershell
とselect-xml
を使用して同等の処理を行うことを望んでいました。PowerShellのselect-xml xpathが動作しないようです。
私の試みは、このような何か行ってきました:
ls -recurse -filter feature.xml | select-xml "/Feature"
を、私は何も持っていないので、私はこれを試してみました:それが行うことになっていた何をするように見えた
ls -recurse -filter feature.xml | select-xml "//*"
。私のソリューションのすべてのfeature.xmlファイルにあるXMLノードのリストを得ました。
"// Feature"や "Feature"などのXPath式を試しましたが、いずれも結果がありませんでした。
私のXPath式は正しいと思われますが、select-xmlの動作はちょっと驚くべきことです。なぜこれが起こっているのかも知れませんか?
あなた「は、Feature.xmlは」[この](http://msdn.microsoft.com/en-を以下の場合us/library/ms475601.aspx)のドキュメントでは、そのQNameテストのために、名前空間URI「http:// schemas.microsoft.com/sharepoint /」にバインドされたプレフィックスを使用する必要があります。それ以外の場合: '// * [local-name()= 'Feature'] ' –
@Alejandro:機能xmlはxmlns =" http://schemas.microsoft.com/sharepoint/ "属性を持っています。私は専門家ではありませんが、デフォルトの名前空間を設定していませんか?私は、デフォルトの名前空間が設定されていれば、XPathに追加の仕様は必要ないと思っていました。 –
いいえ、これはFAQです:プレフィックスのないQNameテストは、ヌル(または空の)名前空間URIの下の要素を選択します。 –