多个重复的子元素 xml
Multiple repeated child elements xml
在这里寻求一点帮助。
我正要使用 simpleXml 解析这个 xml 文件,但我不是 100% 确定如何继续。
这是 xml 代码的片段:
<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
你可以有一个包含多个经文的章节 - 但你也可以用 eg 做同样的事情。图书;一本书可能有多个章节等..
在这里寻求一点帮助。
我正要使用 simpleXml 解析这个 xml 文件,但我不是 100% 确定如何继续。
这是 xml 代码的片段:
<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
你可以有一个包含多个经文的章节 - 但你也可以用 eg 做同样的事情。图书;一本书可能有多个章节等..