我已经从XSD生成了Java类,在我的XML响应中,我得到了一个我不需要的ns2:
前缀。
例如,我收到了这个回复:
<ns2:location xmlns:ns2="http://www.example.com/">
<ns2:response/>
</ns2:location>
但我期待的回应如下:
<location>
<response/>
</location>
答案 0 :(得分:2)
您的示例不仅显示名称空间前缀(ns2
)声明,还显示http://www.example.com/
的实际名称空间(location
和{和response
元素)并不是理想的。
如果您完全控制XSD,则可以删除
targetNamespace="http://www.example.com/"
来自XSD中xs:schema
元素的属性。符合此XSD的XML文档元素将不再位于任何名称空间中,生成的Java类将反映此新设置。
但请注意,删除(或更改)targetNamespace
会有效地更改XSD中定义的组件的名称。如果XSD由另一方定义或已被他人使用,请三思而后行。