【发布时间】:2016-03-16 02:28:32
【问题描述】:
我有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 参数返回所有节点,而不是仅主工作流节点和前两个子节点。
我试过了
【问题讨论】: