Java XStream - 如何忽略某些元素 [英] Java XStream - How to ignore some elements

查看:52
本文介绍了Java XStream - 如何忽略某些元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 XML:

<xml version="1.0" encoding="UTF-8"?> 
<osm version="0.6" generator="CGImap 0.0.2">
 <bounds minlat="48.1400000" minlon="11.5400000" maxlat="48.1450000" maxlon="11.5430000"/>
 <node id="398692" lat="48.1452196" lon="11.5414971" user="Peter14" uid="13832" visible="true" version="18" changeset="10762013" timestamp="2012-02-22T18:59:41Z">
 </node>
 <node id="1956100" lat="48.1434822" lon="11.5487963" user="Peter14" uid="13832" visible="true" version="41" changeset="10762013" timestamp="2012-02-22T18:59:39Z">
  <tag k="crossing" v="traffic_signals"/>
  <tag k="highway" v="traffic_signals"/>
  <tag k="TMC:cid_58:tabcd_1:Class" v="Point"/>
  <tag k="TMC:cid_58:tabcd_1:Direction" v="positive"/>
  <tag k="TMC:cid_58:tabcd_1:LCLversion" v="9.00"/>
  <tag k="TMC:cid_58:tabcd_1:LocationCode" v="35356"/>
  <tag k="TMC:cid_58:tabcd_1:NextLocationCode" v="35357"/>
  <tag k="TMC:cid_58:tabcd_1:PrevLocationCode" v="35355"/>
 </node>
</osm>

我只想将元素(节点)映射到一个对象,但我遇到了问题:

I just want to map the elements (node) to an object, but I'm having to problems:

  1. 它在抱怨 bounds 元素,因为我不想映射它们.
  2. 并非所有节点都有标签,所以我遇到了一些问题.
  1. It's complaining about bounds elements, because I don't want to map them.
  2. Not all nodes have tags so I'm getting some issues with it.

推荐答案

不幸的是,覆盖此处提到的 Mapper 行为不适用于隐式集合或注释.我检查了 1.4.3 版.所以我发现的明显解决方案是使用省略注释来模拟被忽略的字段.非常适合我,但每次都创建它们有点无聊.

Unfortunately overriding Mapper behaviour mentioned here does not work with implicit collections or annotations. I checked with version 1.4.3. So the obvious solution I found was to mock ignored fields with ommiting annotation. Works perfect for me but a bit boring to create them every time.

@XStreamOmitField
private Object ignoredElement;

这篇关于Java XStream - 如何忽略某些元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆