4
我正在阅读一些XML数据(如果您熟悉FXG文件)。数据如何让JAXB中的unmarshaller忽略XML根元素名称?
部分已改变标签名称:
<varying_name1 scaleX="1.0046692" x="177.4" y="74.2"/>
<varying_name2 scaleX="1.0031128" x="171.9" y="118.9"/>
我创建了一个名为变换到不同的标签名段内代表了数据类。在我的JAXB类来保存数据,我有:
@XmlAnyElement(lax=true)
@XmlJavaTypeAdapter(TransformAdapter.class)
protected List<Transform> transforms;
在我的适配器,我试图解组数据:
JAXBContext context = JAXBContext.newInstance(Transform.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
Transform result = (Transform) unmarshaller.unmarshal(v);
但是,我的代码在这里抛出一个异常,因为在根名字我元素变化。这不是一个常数。我得到:
unexpected element (uri:"http://ns.adobe.com/fxg/2008", local:"m6_mc"). Expected elements are (none)
我该如何才能解开我的数据,就好像根元素具有预期的名称一样?
我不明白为什么第二次提供类参数告诉它忽略根元素,但是,它的工作原理!我应该复制你的例子,我更密切地下载了一下。 – Joe
@Joe - 我已经扩大了我的答案,希望这有助于澄清事情。 –
谢谢,Blaise! – Joe