私が解析しようとしているxml構造は次のとおりです。
<contentFiles>
<contentFile>
<fileNumbers>
<fileNumber>123<fileNumber>
</fileNumbers>
</contentFile>
<contentFile/>
<contentFiles>
JAXB を使用してこれを解析するにはどうすればよいですか?
上記のゲッターで注釈を使用しましたが、保存された FileNumbers の倍数の最後の要素のみを取得します。FileNumbers のすべての要素をリストに保存したいと考えています。これを行うにはどうすればよいですか?
編集:::
@XmlRootElement(name = "contentFiles")
public class RtSuperQuickMetadata
{
private List<RtSuperQuickMetadataItem> rtSuperQuickMetadataItems;
@XmlElement(name = "contentFile")
public final List<RtSuperQuickMetadataItem> getRtSuperQuickMetadataItems()
{
return rtSuperQuickMetadataItems;
}
// Setter
}
public class RtSuperQuickMetadataItem
{
private List<FileNumber> fileNumbers;
public RtSuperQuickMetadataItem()
{
fileNumbers = new ArrayList<FileNumber>();
}
@XmlElement(name = "fileNumbers")
public List<FileNumber> getFileNumbers()
{
return fileNumbers;
}
//setter
}
@XmlRootElement(name="fileNumber")
public class FileNumber
{
private String fileNumber;
/**
* Default no-arg constructor.
*/
public FileNumber()
{
// public no-arg constructor for JAXB
}
/**
* Accept a filenumber as constructor arg.
* @param fileNumber is the fileNumber
*/
public FileNumber(final String fileNumber)
{
this.fileNumber = fileNumber;
}
/**
* Getter.
* @return the fileNumber
*/
//@XmlElement(name = "fileNumber")
public final String getFileNumber()
{
return fileNumber;
}
/**
* Setter.
* @param fileNumber to be set.
*/
public final void setFileNumber(final String fileNumber)
{
this.fileNumber = fileNumber;
}
@Override
public final String toString()
{
return fileNumber;
}
}