Java中的XML解析器应返回已使用的已定义类的Arraylist

时间:2015-12-28 10:21:40

标签: java xml parsing xml-parsing

我使用java解析器解析xml以下。但我找不到一个完美的解析器,或者我可能不知道如何使用它。

<checklist> <checklistitem>
    <checklistId>2</checklistId>
    <labels>
      <label>Label 1</label>
    </labels>
    <parents>
      <parent/>
    </parents>
    <children/>
    <descriptions>
      <short>General Application Checks</short>
      <long>General Application Checks</long>
    </descriptions>
    <displayPrerequisite>Always</displayPrerequisite>
    <effort>Hard</effort>
    <priority>Low</priority>
    <platform></platform>   </checklistitem>   <checklistitem>
    <checklistId>3</checklistId>
    <labels>
      <label>Label 1</label>
    </labels>
    <parents>
      <parent/>
    </parents>
    <children>
      <child>4</child>
      <child>5</child>
      <child>6</child>
    </children>
    <descriptions>
      <short>Uses a certificate with a known key</short>
      <long>Uses a certificate with a known key</long>
    </descriptions>
    <displayPrerequisite>Tool Driven</displayPrerequisite>
    <effort>Hard</effort>
    <priority>Low</priority>
    <platform>ios</platform>   </checklistitem> </checklist>

我的问题是通过解析这个来返回带有java文件的类的数组列表。 该课程应如下所示。

    public int checklistId;
    public ArrayList<String> labels = new ArrayList<String>();
    public ArrayList<String> parents = new ArrayList<String>();
    public ArrayList<Integer> children = new ArrayList<Integer>();
    public String[] discriptions = new String[2];
    public String displayPrerequisite;
    public String effort;
    public String priority;
    public String platform;

1 个答案:

答案 0 :(得分:1)

1您必须解析XML

请参阅此示例:

DOM XML Parser Example

并检查xpath:它对你的问题非常有用

2定义策略和规则

3以您的示例为例,我建议:

  • 获取n-1个标签:标签,父母,优先级

  • 如果一个字符串值=&gt;串

  • 如果一个int值=&gt; INT

  • 如果多个子标签的类型简单(短,长,为什么?)=&gt;字符串数组

  • 如果是其他类型的子标签:ArrayList

并编码:祝你好运!