我使用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;
答案 0 :(得分:1)
1您必须解析XML
请参阅此示例:
并检查xpath:它对你的问题非常有用
2定义策略和规则
3以您的示例为例,我建议:
获取n-1个标签:标签,父母,优先级
如果一个字符串值=&gt;串
如果一个int值=&gt; INT
如果多个子标签的类型简单(短,长,为什么?)=&gt;字符串数组
如果是其他类型的子标签:ArrayList
并编码:祝你好运!