SimpleXML 获取标签序列

SimpleXML get tags sequence

我在 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.

中相同的顺序一个一个地读取它们

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

我采纳了这里的想法:

读取元素列表

In XML configuration and in Java objects there is often a one to many relationship from a parent to a child object. In order to support this common relationship an ElementList annotation has been provided.

注意,我不知道这个库,也没有测试过。如果结果不符合预期,请告诉我。

引用 Class :

@Root
public class Citation{

   @ElementList
   private List<Part> list;

   @Attribute
   private String type;

   public String getType() {
      return type;
   }

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

部分 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);