gpt4 book ai didi

.net - 如何使用 xmlpeek 在 Nant 中获取多个 xml 节点?

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

我想获取所有节点的值,这些值是“name”之后的名称。但 Nant xmlpeek 似乎只能从 xml 获取一个节点。有没有其他方法可以获取“name”之后的所有节点?

xml 文件:

<?xml version="1.0" encoding="utf-8" ?>
<QAEnvironment xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<user>
<name value="clientA" />
<name value="clientB" />
<name value="clientC" />
<name value="clientD" />
</user>
</QAEnvironment>

================================================== =================================

nant 脚本:

<xmlpeek
file="A.xml"
xpath="/x:QAEnvironment/x:user/x:name/@value"
property="clientName"
nodeindex="3">
<namespaces>
<namespace prefix="x" uri="http://schemas.microsoft.com/developer/msbuild/2003" />
</namespaces>
<echo message="clientName: ${clientName}" />
</xmlpeek>

================================================== ==================================结果 - clientName: clientD(如 nodindex = "3")

谢谢

最佳答案

<xmlpeek>据我所知,任务并不是为了返回多个结果而设计的。据其官方描述:

If the XPath expression specifies multiple nodes the node index is used to determine which of the nodes' text is returned.

如果您有可靠的方法来确定同名节点的数量,您可以尝试运行 <foreach>循环这些。否则,我想您唯一的选择就是为此创建一个自定义 NAnt 任务。据我所知,nant.contrib 项目没有任何用于此目的的东西。

关于.net - 如何使用 xmlpeek 在 Nant 中获取多个 xml 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17338080/

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