gpt4 book ai didi

java - XPATH 仅选择第一级子级

转载 作者:行者123 更新时间:2023-12-05 00:41:27 24 4
gpt4 key购买 nike

我有fowoling xml:

  <workflow URI=""> 
<output ID="" URI="#out1"/>
<input ID="sessionToken" URI="#sessionToken"/>
<services>
<sequence>
<service URI="">
<input ID="" URI=""/>
<input URI="" value=""/>
<output ID="" URI=""/>
</service>
</sequence>
</services>
</workflow>

我只想选择工作流节点的第一级子节点,并从该选择中排除服务节点,所以在我的情况下我只想要

 <output ID="" URI="#out1"/>  
<input ID="sessionToken" URI="#sessionToken"/>

选择了这两个节点,我想在 java 中使用 XPATH。附加要求是所选节点必须具有 URI 参数。

我已经试过了:

XPathExpression expr = xpath.compile("//workflow[@URI='" + oldUrlValue.getNodeValue() + "'] | //workflow//*[not(local-name() = 'services') and @URI]");

但我使用 URI 参数返回所有节点,而不是仅主工作流节点和前两个子节点。

我试过了

最佳答案

这里的'一级子级'并不清楚你的意思,因为 servicesoutputinput 元素。如果您打算返回 没有任何其他子元素的 workflow 的直接子元素,那么您可以使用以下 XPath 表达式:

//workflow/*[not(*)]

关于java - XPATH 仅选择第一级子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202138/

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