Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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/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 将内联元素列表直接反序列化到列表中_Java_Xml_Xml Serialization_Simple Framework - Fatal编程技术网

Java 将内联元素列表直接反序列化到列表中

Java 将内联元素列表直接反序列化到列表中,java,xml,xml-serialization,simple-framework,Java,Xml,Xml Serialization,Simple Framework,我有以下XML结构: <keys> <key> <tag> someValue </tag> </key> <key> <tag> someValue </tag> </key> </keys> 我的目标是将它们直接反序列化为列表,如下所示: Serializer se

我有以下XML结构:

<keys>
   <key>
      <tag>
         someValue
      </tag>
   </key>
   <key>
      <tag>
         someValue
      </tag>
   </key>
</keys>
我的目标是将它们直接反序列化为
列表
,如下所示:

Serializer serializer = new Persister();
List<Key> list = serializer.read(Key.class, inputStream); // pseudo code
Serializer Serializer=new Persister();
List List=serializer.read(Key.class,inputStream);//伪码

我如何通过使用JAXB(用于XML绑定的Java体系结构)实现这一点

以下是几个教程的链接:

他们比我解释得更好。 但基本上,您使用javax.xml.bind.annotation包中定义的注释来定义xml结构。
然后创建一个简单的JAXB处理程序类来处理封送和解封送

@Root(name="keys")
public class KeyList {

    @ElementList(inline=true, entry="key")
    private List<Key> keys;

    public List<Key> getKeys() {
       return keys;
    }
}
@Root(name=“keys”)
公共类密钥列表{
@元素列表(inline=true,entry=“key”)
私有列表密钥;
公共列表getKeys(){
返回键;
}
}
然后

Persister Persister=new Persister();
List keys=persister.read(KeyList.class,source.getKeys();

谢谢!如果不清楚:我们使用了,我们不想换成另一个,谢谢!它工作得很好。我想没有办法跳过这个helper
KeyList
类,对吗?
@Root(name="keys")
public class KeyList {

    @ElementList(inline=true, entry="key")
    private List<Key> keys;

    public List<Key> getKeys() {
       return keys;
    }
}
Persister persister = new Persister();
List<Key> keys = persister.read(KeyList.class, source).getKeys();