【问题标题】:Remove xsi namespace in element移除元素中的 xsi 命名空间
【发布时间】:2013-08-02 09:30:11
【问题描述】:

我正在使用 CXF 从 WSDL/XSD 生成 java 类,然后再返回 XML(用于 JMS)。

在其中一个生成的类中,它说:

@XmlElement(namespace = "http://www.example.com/", nillable = true)
protected Datum datum;

一切都好,但是当我输入一个空值时:

test.setDatum(null);

我生成了以下 XML:

<datum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />

xsi:nil="true" 是我想要的,但我不想要命名空间 xmlns:xsi="http://www.w3.org/2001 /XMLSchema-instance",因为此命名空间已在根元素中指定。在我们必须使用的测试平台上,验证也失败了。

如何去掉元素中多余的命名空间?

【问题讨论】:

    标签: java cxf jaxb2


    【解决方案1】:

    我反其道而行之。我写了一个拦截器来检查某些属性。如果找到,我将 xsi:nil="true" 属性添加到 xml。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-02
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      相关资源
      最近更新 更多