我使用jaxb为Web服务编写客户端。除了一个问题,它工作正常。我从服务中获取的XML包含一些xsi:nil = true的元素,但该元素包含一个值。例如<A xsi:nil="true">not blank</A>
。这可能是网络服务的一个错误,但我不知道我是否能够让他们修复它。 unmarshaller使用xsi:nil = true为我提供null,即使存在值。有没有办法告诉unmarshaller忽略xsi:nil = true?
答案 0 :(得分:1)
我找到了解决这个问题的黑客。它有效,但它很难看。我使用DOM解析器来解析XML,然后以编程方式删除了xsi:nil = true的xsi:nil属性。然后从DOM中解组。