1
(大)子表の要素のアンマーシャリングに問題があります。ここでは、入力データの構造です:JAXB(グランド)子要素のデータが入力されない
<searchResultDocuments>
<pageNumber>1</pageNumber>
<pageSize>1</pageSize>
<results>
<contentType>text/html</contentType>
<fileName>theFile.txt</fileName>
<mainDoc>
<dates>
<date>
<match>20170822</match>
<startOffset>4324</startOffset>
</date>
...
</dates>
<entities>
<entity>
<startOffsets>4324 5634</startOffsets>
<entityType>featuretype</entityType>
<entity>
...
</entities>
</mainDoc>
</results>
...
</searchResultDocuments>
データをキャプチャするためのJavaクラスは、次のようになります。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="searchResultDocuments")
public class SearchReturnData{
@XmlElement
private int pageNumber;
@XmlElement
private int pageSize;
@XmlElement(name="results")
private List<ResultData> resultData;
//(no setters, getters only in all classes, although I tried it both ways)
}// end of SearchResultData
@XmlAccessorType(XmlAccessType.FIELD)
public class ResultData{
@XmlElement
private String contentType;
@XmlElement
private String fileName;
@XmlElement(name="mainDoc")
private MainDoc mainDoc;
} // end of ResultData
@XmlAccessorType(XmlAccessType.FIELD)
public class MainDoc{
@XmlElement(name="dates")
private List<DateData> dates;
@XmlElement(name="entities")
private List<EntityData> entities;
}// end of MainDoc
@XmlType(name="date")
public class DateData{
@XmlElement(name="match")
private String match;
@XmlElement(name="startOffset")
private String startOffset;
}// end of DateData
@XmlType(name="entity")
public class EntityData{
@XmlElement(name="startOffsets")
private String startOffsets;
@XmlElement(name="entityType")
private String entityType;
}// end of EntityData
私はこの構造に入ってくるデータを非整列化するとき、私は、行の適切な数を取得しますDataDataとEntityDataのいずれかの要素はデータを持ちません。私は持っているとセッターを持っていないことを試みたが、それは違いはありません。
ありがとうございます。私はすぐにそれを試してみます。実際のタグは適切に閉じます。私は脂肪指であり、同じことを言いたいと思った。データは他の場所から来ています。私はただそれを消費しようとしています。 –