SimpleXML获取标签序列

时间:2016-12-18 08:40:15

标签: java simple-framework

我在xml文件中有一个对象模型。这个模型有根标签和里面的一些标签。我知道如何读取标签并将其解析为POJO,但我如何获得标签序列?

例如:

<citation type="default">
    <part>first-author</part>
    <part>title</part>
    <part>type</part>
    <part>authors-after</part>
    <part>publisher</part>
    <part>editors</part>
    <part>publisher-city</part>
    <part>publisher-name</part>
    <part>year-date</part>
    <part>volume</part>
    <part>no</part>
    <part>pages</part>
</citation>

我需要读取队列中的所有标签,以便我能够以与xml相同的顺序逐个读取它们。

1 个答案:

答案 0 :(得分:0)

从文档:http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#list,我给你做了一个例子。

我在这里采纳了这个想法:

阅读元素列表

  

在XML配置和Java对象中,通常有一对多   从父对象到子对象的关系。为了支持这一点   公共关系已提供ElementList注释。

要注意,我不知道这个lib,我还没有测试过。告诉我结果是否与预期不符。

引文类:

@Root
public class Citation{

   @ElementList
   private List<Part> list;

   @Attribute
   private String type;

   public String getType() {
      return type;
   }

   public List<Part> getList() {
      return list;
   }
}

Part class:

@Root
public class Part{

   @Text
   private String value;


   public String getValue() {
      return value;
   }
}

反序列化文件:

Serializer serializer = new Persister();
File file = new File("yourXmlFile");
Citation citation = serializer.read(Citation.class, file);