gpt4 book ai didi

Java : Parse into an XML Object that has list with other objects as a field

转载 作者:行者123 更新时间:2023-11-30 06:45:22 26 4
gpt4 key购买 nike

我有一个 Activity 类,它有子 Activity 列表,每个子 Activity 都有自己的列表等等。

public class Activity 
{
private Activity parent;
private ArrayList<Activity> children = new ArrayList();
private String name;
}

是否有一种有效的方法将其解析为如下所示的 XML 文件:

<Activity name="1">
<children>
<Activity name="2>
<children>
<Activity name="3">
</children>
</children>
<Activity name ="4">

等等?

最佳答案

最简单的序列化方法是使用 XMLStreamWriter 。这假设您的唯一目标是获取 POJO 并将其转换为 XML 格式作为端点,而不是同时将其作为输入,后者更适合更复杂的模型(例如 JAXB)。

您将编写器实例化到一个文件,然后写入。

XMLStreamWriter writer; //instantiate this based on your output format, see the tutorial for example

然后您可以使用此递归方法来填充 XML。

public void writeActivity(Activity activity) {
writer.writeStartElement("activity");
writer.writeAttribute("name", activity.getName());

writer.writeStartElement("children");
for(Activity child : activity.getChildren()) {
writeActivity(child);
}
writer.writeEndElement(); //ends element children

writer.writeEndElement(); //ends element activity
}

根据您是否想要一个空的“子”节点,您可以执行 if 语句,等等。

关于Java : Parse into an XML Object that has list with other objects as a field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43769884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com