Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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结构来存储XML记录?_Java_Xml_Web Services_Data Structures_Soap - Fatal编程技术网

我应该使用哪个Java结构来存储XML记录?

我应该使用哪个Java结构来存储XML记录?,java,xml,web-services,data-structures,soap,Java,Xml,Web Services,Data Structures,Soap,好的,所以我对Java还是比较陌生的,我正在取得相当好的进展。我的任务是: 构建SOAP请求以启动与web服务服务器的通信(完成) 检索包含唯一会话ID的结果XML,该ID必须在步骤3中使用(完成) 使用返回另一组包含100行记录的XML的唯一会话ID创建另一个SOAP请求(完成) 从这些结果中提取特定数据(正在进行) 我的问题是,用Java存储这些数据的最佳方式是什么,这样我就可以轻松地对其进行排序?我的XML的数据部分如下所示: <RawData> <item value=

好的,所以我对Java还是比较陌生的,我正在取得相当好的进展。我的任务是:

  • 构建SOAP请求以启动与web服务服务器的通信(完成)
  • 检索包含唯一会话ID的结果XML,该ID必须在步骤3中使用(完成)
  • 使用返回另一组包含100行记录的XML的唯一会话ID创建另一个SOAP请求(完成)
  • 从这些结果中提取特定数据(正在进行)
  • 我的问题是,用Java存储这些数据的最佳方式是什么,这样我就可以轻松地对其进行排序?我的XML的数据部分如下所示:

    <RawData>
    <item value="1" anothervalue="2" yetanothervalue="3"/>
    <item value="4" anothervalue="5" yetanothervalue="6"/>
    <item value="7" anothervalue="8" yetanothervalue="9"/>
    </RawData>
    
    
    
    使用XPath和SimpleSchengine从XML检索特定值没有问题。但是我非常希望能够将它存储在某种ResultSet类型的结构中,这样我就可以轻松地检索和操作它。我在SQL查询中使用了ResultSet,因此我对它很熟悉,也很熟悉,但是,我不知道如何在实际的DB连接和查询之外使用它。处理这个问题的最佳方法是什么


    提前谢谢

    如果文档没有那么大,可以使用DOM解析器获取内存中的所有数据。也就是说,或者

    如果文档没有那么大,可以使用DOM解析器获取内存中的所有数据。或者是这样,或者

    因为您的数据看起来简单且规则,我个人会使用JAXB——您可以手动创建类,或者使用一些工具从XML模式生成类


    这样,您就可以轻松地使用类列表,并可以使用常用的java获取或操作数据,此外,您还可以轻松忽略java表示中不需要的字段,这样您的类将只包含您真正感兴趣的XML文件的那些部分。

    由于您的数据看起来简单且规则,我个人会使用JAXB—您可以手动创建类,也可以使用某种工具从XML模式生成类


    通过这种方式,您可以轻松地使用类列表,并可以使用常用java获取数据或对其进行操作,还可以轻松地忽略java表示中不需要的字段,这样您的类将只覆盖您真正感兴趣的XML文件的那些部分。

    您可以将数据存储在一个仅限内存的数据库中。
    支持此功能。

    您可以将数据存储在仅限内存的数据库中。
    支持此功能。

    我不是web服务专家,但我认为在Java中使用SOAP的常用方法是使用JAX-WS,它应该为您生成映射交换的XML结构的bean。您只需要使用这些bean来构建和读取消息。事实上,我使用SOAPConnectionFactory来构建和发送消息,并且响应存储在SOAPMessage中。给我带来麻烦的部分是XML响应中隐藏的一块CDATA。我不是web服务专家,但我认为在Java中使用SOAP的通常方法是使用JAX-WS,它应该为您生成映射交换XML结构的bean。您只需要使用这些bean来构建和读取消息。事实上,我使用SOAPConnectionFactory来构建和发送消息,并且响应存储在SOAPMessage中。给我带来麻烦的部分是XML响应中隐藏的一块CDATA。感谢您的反馈,现在一切都好了。或者是DOM4J,这是XML处理的又一个好方法。或者是DOM4J,这是XML处理的又一个好方法。