【发布时间】:2017-11-03 05:12:10
【问题描述】:
我有一个像下面这样的xml结构
<cr:TRFCoraxData instrumentId="8590925624" organizationId="4296241518">
<cr:Dividends>
<cr:ExDate>2017-02-27T00:00:00+00:00</cr:ExDate>
<cr:PeriodEndDate>2017-03-31T00:00:00+00:00</cr:PeriodEndDate>
<cr:PeriodDuration>P3M</cr:PeriodDuration>
</cr:Dividends>
<cr:AdjustmentFactors>
<cr:ExDate>2222-05-21T00:00:00+00:00</cr:ExDate>
<cr:AdjustmentFactor>0.50000</cr:AdjustmentFactor>
</cr:AdjustmentFactors>
</cr:TRFCoraxData>
所以我必须在 Kand AdjustmentFactors 标签中添加同名的 cr:ExDate 元素。
现在我有两个 pojo 类,然后我有开始和结束元素标签。
在我的结束元素标签中,我的条件如下所示
if (element.equals("cr:ExDate")) {
dividend.setExDate(tmpValue);
}else if (element.equals("cr:DividendEventId")) {
dividend.setDividendEventId(tmpValue);
}else if (element.equals("cr:AnnouncementDate")) {
dividend.setAnnouncementDate(tmpValue);
}
else if (element.equals("cr:ExDate")) {
adjustmentFactorObj.setExDate(tmpValue);
}else if (element.equals("cr:AdjustmentFactor")) {
adjustmentFactorObj.setAdjustmentFactor(tmpValue);
}
如果条件满足并且我无法在 adjustFactorObj 中获取和设置“cr:ExDate”值,则显然是“cr:ExDate”元素。
请告诉我如何解决这个问题
【问题讨论】:
-
我建议切换到 StAX,而不是 SAX,因为使用 StAX 更容易跟踪上下文。
-
您是否想过使用 jibx、castor 或 jaxb 等数据绑定工具?