Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回正确的顺序(代替文档顺序) 我在大学里给我一个任务“修复”XPath,并让它以正确的顺序返回节点。_Java_Xpath - Fatal编程技术网

Java 返回正确的顺序(代替文档顺序) 我在大学里给我一个任务“修复”XPath,并让它以正确的顺序返回节点。

Java 返回正确的顺序(代替文档顺序) 我在大学里给我一个任务“修复”XPath,并让它以正确的顺序返回节点。,java,xpath,Java,Xpath,我一直在试图找到一种方法来编写一段很长的代码,将每个表达式分解成小的和平,然后重新组合起来 我想到了一些想法,但我需要帮助才能实现:) 在XPath jar中找到对节点进行排序并将其删除的方法-问题是我不知道是否有可能看到XPath jar代码,但在网上找不到。-如果你能给我指一下,那就太好了 我找到了这个选项,看起来它应该能奏效 但它需要XPath3.0的dom实现 我在任何地方都找不到dom——知道有没有这种东西吗 如果你有任何其他想法,我很想听听 例如:对于这个xml <libr

我一直在试图找到一种方法来编写一段很长的代码,将每个表达式分解成小的和平,然后重新组合起来

我想到了一些想法,但我需要帮助才能实现:)

  • 在XPath jar中找到对节点进行排序并将其删除的方法-问题是我不知道是否有可能看到XPath jar代码,但在网上找不到。-如果你能给我指一下,那就太好了

  • 我找到了这个选项,看起来它应该能奏效
    但它需要XPath3.0的dom实现 我在任何地方都找不到dom——知道有没有这种东西吗

  • 如果你有任何其他想法,我很想听听

  • 例如:对于这个xml

     <library> 
     <book name="book1"> 
      hello 
     </book> 
     <book name="book2"> 
      world 
     </book>
     <book name="book3">
      !!! 
     </book>
     </library>
    
    
    你好
    世界
    !!! 
    
    还有这个表达式:/library/book[3]/前面的兄弟姐妹::book 我越来越

    第一册 第二册

    代替:

    第二册 第一册

    我可以使用任何东西,只要我在java程序中使用它


    感谢您的帮助:)

    在XPath 1.0中,没有节点序列,只有节点集。XPath 1.0规范没有定义节点集中节点的顺序。许多API也没有定义它,但它们总是按照文档顺序返回节点集中的节点——不是因为XPath需要它,而是因为XSLT需要它,XSLT已经为XPath引擎的行为设定了预期

    如果希望节点序列能够控制排序,则必须转到XPath 2.0(或XQuery 1.0,它是XPath 2.0的超集)。在XPath 2.0中,以下表达式返回所需内容:

    reverse(/library/book[3]/preceding-sibling::book)
    

    注意要点,进行了所有更改。:)正确的顺序是什么?如果你的意思是排序,你能吗?增加了一个例子。我可以使用任何东西,只要我把它写在我不懂的java代码中,XSLT有什么帮助呢?XSLT可以生成一个文档,其中的节点可以按您希望的任何顺序排序。但就我所能告诉你的,你总是想要相反的顺序吗?我需要根据我计算的表达式的顺序,我的输入是一个xml文件-我不知道文件的结构,我不能将其更改为XSLT。好的,我如何才能转到XPath 2.0/XQuery 1.0?我在哪里能找到这个罐子?已经找过了。这也适用于复杂表达式吗?或者只知道如何颠倒节点的顺序?(1,2,3,4,5到5,4,3,2,1)@Drau:一种可能性是获得撒克逊——撒克逊的唯一开发者是迈克尔·凯。当然,还需要一本关于XPath2.0的好书并开始学习。有几种产品实现了XQuery1.0或XPath2.0forJava,Saxon就是其中之一。像Dimitre一样,我建议您在提出任何详细问题之前先阅读一下规范;对此非常抱歉。如果有人请求帮助修理燃气锅炉,那么在回答这个问题之前,我会尝试在我自己的头脑中考虑是否建议他们尝试这项任务。当然,我没什么要说的,所以我可能会弄错。@yedidyak:如果你有问题,那就开始一个新的问题来解释这个问题。