【发布时间】:2019-11-06 18:41:10
【问题描述】:
我有一个想要通过 PowerShell Core 获取值的 XML 文件。
清理示例:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFrameworks></TargetFrameworks>
<RootNamespace></RootNamespace>
<AssemblyName></AssemblyName>
<Company></Company>
<Authors></Authors>
<Description></Description>
<Copyright></Copyright>
<AssemblyVersion></AssemblyVersion>
<FileVersion></FileVersion>
<Product></Product>
</PropertyGroup>
<PropertyGroup>
<Version>1.0.0</Version>
<RepositoryUrl></RepositoryUrl>
<GeneratePackageOnBuild></GeneratePackageOnBuild>
</PropertyGroup>
</Project>
我想获取<Version>元素的值,即1.0.0。
我跑:
pwsh Select-Xml -Path test.csproj -XPath "//Version"
返回:
Node Path Pattern
---- ---- -------
Version D:\Downloads\test.csproj //Version
当我尝试按照 Microsoft 的文档获取值时,使用:
pwsh Select-Xml -Path test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
我收到以下错误:
Select-Object : Property "Node" cannot be found.
At line:1 char:56
+ ... h test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : ExpandPropertyNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
Select-Object : Property "Node" cannot be found.
At line:1 char:56
+ ... h test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (Node Path Pattern:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : ExpandPropertyNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
Select-Object : Property "Node" cannot be found.
At line:1 char:56
+ ... h test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (---- ---- -------:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : ExpandPropertyNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
Select-Object : Property "Node" cannot be found.
At line:1 char:56
+ ... h test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (Version D:\Download\u2026st.csproj //Version:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : ExpandPropertyNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
Select-Object : Property "Node" cannot be found.
At line:1 char:56
+ ... h test.csproj -XPath "//Version" | Select-Object -ExpandProperty Node
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:PSObject) [Select-Object], PSArgumentException
+ FullyQualifiedErrorId : ExpandPropertyNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand
如何获得这个 XML 元素的值?
【问题讨论】:
标签: powershell-core