gpt4 book ai didi

xmllint 返回 XPath 集为空

转载 作者:行者123 更新时间:2023-12-05 02:34:27 25 4
gpt4 key购买 nike

我做错了什么?运行以下命令时,我得到 XPath set is empty。xmllint --xpath './/PackageReference[@Include="Tips"]/Version/text()' sdk/Test/TestSample.xml

请在下面找到 xml 文件内容。

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Tips">
<Version>2.2.2</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Hips">
<Version>1.1.1</Version>
</PackageReference>
</ItemGroup>

</Project>

最佳答案

你正与可怕的 namespaces 纠缠在一起.由于 xmllint 不支持 namespace 声明,您可以使用它:

xmllint --xpath "//*[local-name()='PackageReference'][@Include='Tips']/*[local-name()='Version']/text()" your_file.xml

或者,您可以使用 xmlstarlet,如下所示:

xml sel -N x="http://schemas.microsoft.com/developer/msbuild/2003" -t -m "//x:PackageReference[@Include='Tips']/x:Version/text()" -v . your_file.xml

他们都应该输出

2.2.2

关于xmllint 返回 XPath 集为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70756775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com