从xml树-xpath中选择一组特定的节点

从xml树-xpath中选择一组特定的节点,xpath,Xpath,我有一个非常嵌套的xml树,我希望能够使用xpath进行查询,并且只从树的每个部分中选择选定的节点。例如,在下面的每个父节点中,我希望得到childTree>a和c>cb: <parents> <parent> <childTree> <a></a> <b></b> <c> <ca></ca>

我有一个非常嵌套的xml树,我希望能够使用xpath进行查询,并且只从树的每个部分中选择选定的节点。例如,在下面的每个父节点中,我希望得到childTree>a和c>cb:

<parents>
    <parent>
      <childTree>
        <a></a>
        <b></b>
        <c>
          <ca></ca>
          <cb></cb>
        </c>
      </childTree>
    </parent>
    <parent>
      <childTree>
        <a></a>
        <b></b>
        <c>
          <ca></ca>
          <cb></cb>
        </c>
      </childTree>
    </parent>
    <parent>
      <childTree>
        <a></a>
        <b></b>
        <c>
          <ca></ca>
          <cb></cb>
        </c>
      </childTree>
    </parent>
<parents>

以下内容对你有用吗?在Xpath中,您可以使用“|”作为并集并执行以下操作:

//childTree/a|//childTree/c/cb

嗨,迈克-不,这没有给我我想要的结果,我已经试过了。是的,有也没有。它为我提供了正确的节点,但它们都是独立的xml对象,因为and运算符将查询视为独立的查询。我需要一个返回的对象你能编辑这个问题来包含一个你期望输出的例子吗?Mike-我想要完全相同的结构减去不相关的节点,即相同的结构包含listed@David:我不确定XPath是否是获得所需结果的最佳工具,也不确定它是否可以实现。在我看来,这类事情是通过解析XML和删除某些节点来完成的。@David:XPath是XML文档的查询语言-它不能修改文档或任何节点的结构和/或值。因此,XPath不可能满足您的需要。您需要使用另一种技术,例如XSLT,它是专门为转换XML文档而设计的。