Я использую StaxDriver с XStream и пытаюсь проанализировать этот XML:
<cad:MyObj xmlns:cad="namespace" cad:testeId="873" >
<cad:node1>value node 1</cad:node1>
</cad:MyObj>
в объект.
Я могу разобрать node1 с префиксом, но я не знаю, как настроить XStream для Stax, чтобы использовать префикс cad
с атрибутами (testeId
).
Вот мой конф:
QNameMap qnameMap = new QNameMap();
qnameMap.setDefaultPrefix("cad");
qnameMap.setDefaultNamespace("namespace");
StaxDriver stax = new StaxDriver(qnameMap);
stax.getInputFactory().setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, true);
stax.setRepairingNamespace(true);
stax.setQnameMap(qnameMap);
xstream = new XStream(stax);
xstream.alias("MyObj", MyObj.class);
xstream.useAttributeFor(MyObj.class, "testeId");
Я пытался "обмануть" это:
xstream.aliasField("cad:testeId", ProdutoVersao.class, "testeId");
, но не сработало = /
Надеюсь, кто-то знает, как это сделать.