gpt4 book ai didi

java - 多个重复的子元素 xml

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:13 24 4
gpt4 key购买 nike

在这里寻求一些帮助。

我打算使用 simpleXml 解析这个 xml 文件,但我不是 100% 确定如何继续。

这是 xml 代码的 fragment :

<bible abbrev="ReinaV" name="Reina Valera Actualizada">
<book num="Gen">
<chapter num="1">
<verse num="1">En el principio creó Dios los cielos y la tierra
</verse>
<verse num="2">
Y la tierra estaba sin orden y vacía. Había tinieblas sobre la faz del
océano, y el Espíritu de Dios se movía sobre la faz de las aguas.
</verse>
<verse num="3">Entonces dijo Dios: "Sea la luz", y fue la luz.</verse>
<verse num="4">
Dios vio que la luz era buena, y separó Dios la luz de las tinieblas.
</verse>
</chapter>
</book>
</bible>

这是我到目前为止所拥有的:

@Root
public class bible {

@Attribute
String abbrev;
@Attribute
String name;
@Element
Book book;

public String getAbbrev() {
return abbrev;
}

public String getName() {
return name;
}

public Book getBook() {
return book;
}

@Root(strict = false)
private class Book {

@Attribute(required = false)
String num;

@Element(required = false)
Chapter chapter;

private class Chapter {
}
}
}

我如何管理重复的诗句元素?谢谢=)

最佳答案

List@ElementList 注释一起使用。由于 @ElementList 将创建一个包含列表内容的元素,因此请使用 inline = true 来防止这种情况发生。

圣经

@Root(name = "bible")
public class Bible
{
@Attribute
private String name;
@Attribute
private String abbrev;
@Element(required = false)
private Book book;

// ...
}

预订

@Root(name = "book")
public class Book
{
@Attribute
private String num;
@Element(required = false)
private Chapter chapter;

// ...
}

章节

@Root(name = "chapter")
public class Chapter
{
@Attribute
private String num;
@ElementList(name = "verse", required = false, inline = true) /* <-- ! */
private List<Verse> verse;

// ...
}

诗句

@Root(name = "verse")
public class Verse
{
@Attribute
private String num;
@Text
private String text;

// ...
}

顺便说一句,所有这些 required = false 都是可选,我已将它们设置为启用,例如。一本空书 - 没有子元素。如果这没有意义,只需删除它们即可。

使用@ElementList,你可以有一章包含多个诗句 - 但你也可以用例如做同样的事情。图书;一本书可能有多个章节等..

关于java - 多个重复的子元素 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31487735/

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