【发布时间】:2014-05-06 21:27:47
【问题描述】:
我想做一些类似于@BlaiseDoughan 在他对JAXB filtered parsing 的回复中给出的 XMLStreamReader 示例的操作,但是我需要根据子元素而不是当前节点属性做出过滤决定。
XMLStreamReader 没有像 XMLEventReader 这样的 peek API。例如,我想将以下 XML 解组为 Gump 对象,其记录列表最终仅包含 1 项,其关联名称不以“Filtered-”开头的记录。
我正在使用 Eclipselink 2.3.2v20111124-r10461
<gump>
<foo>Some text</foo>
<bar>1.245</bar>
<records>
<record>
<name>Filtered-Counter</name>
<value>1</value>
</record>
<record>
<name>Golden</name>
<value>shiny</value>
</record>
</records>
<baz>1234</baz>
</gump>
Gump.java
@XmlRootElement(name = "gump")
@XmlAccessorType(XmlAccessType.FIELD)
public class Gump implements Serializable {
private String foo;
private String bar;
private String baz;
@XmlElementWrapper
@XmlElement(name = "record")
private List<Record> records;
// .. Field getters/setters
public Gump() {
records = new ArrayList<>();
}
}
【问题讨论】:
标签: xml jaxb eclipselink moxy