如何在java中从JAXB2Marshaller中删除xmlns:xsi和xsi:type
我有一个如下所示的XML响应如何在java中从JAXB2Marshaller中删除xmlns:xsi和xsi:type,java,Java,我有一个如下所示的XML响应 <Movies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="T_MOVIELIST0" totalMovies="2"> <Movie> <DetailLevel0 xsi:nil="true"/> <ExternalID>EN1skynetBSKY2014102807462817</Ext
<Movies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="T_MOVIELIST0" totalMovies="2">
<Movie>
<DetailLevel0 xsi:nil="true"/>
<ExternalID>EN1skynetBSKY2014102807462817</ExternalID>
</Movie>
<Movie>
<DetailLevel0 xsi:nil="true"/>
<ExternalID>FR6skynetBSKY8607347700000000</ExternalID>
</Movie>
</Movies>
EN1skynetBSKY2014102807462817
FR6SkyNetBSky860734770000000
我的JAXB2Marshaller对象工厂是:
/**
* Create an instance of {@link JAXBElement }{@code <}{@link TMOVIELIST }{@code >}}
*
*/
@XmlElementDecl(namespace = "", name = "Movies0", scope = ResponseGetDetail.class)
public JAXBElement<TMovieList0> createResponseGetDetailMovies0(TMovieList0 value) {
return new JAXBElement<TMovieList0>(_ResponseMovies_QNAME0, TMovieList0.class, ResponseGetDetail.class, value);
}
/**
*创建{@link JAXBElement}{@code}的实例
*
*/
@xmlementdecl(namespace=”“,name=“Movies0”,scope=ResponseGetDetail.class)
公共JAXBElement createResponseGetDetailMovies0(TMovieList0值){
返回新的JAXBElement(_ResponseMovies_QNAME0,TMovieList0.class,ResponseGetDetail.class,value);
}
由于这些“xmlns:xsi和xsi:type”标记,我们面临一些性能问题
我们的要求是响应如下
<Response>
<Movies totalMovies="2">
<Movie>
<DetailLevel0/>
<ExternalID>EN1skynetBSKY2014102807462817</ExternalID>
</Movie>
<Movie>
<DetailLevel0/>
<ExternalID>FR6skynetBSKY8607347700000000</ExternalID>
</Movie>
</Movies>
</Response>
EN1skynetBSKY2014102807462817
FR6SkyNetBSky860734770000000
请让我知道我们如何做到这一点。您需要解析xml并删除属性。。可能的重复您需要解析xml并删除属性。。可能的重复