小编Dup*_*ont的帖子

如何从生成的JAXB文件中删除命名空间?

这是我的代码:

xsdFile:

<complexType name="Player">
    <sequence>
        <element name="Login" type="string"></element>
        <element name="Passwd" type="string"></element>
    </sequence>
</complexType>

<element name="Player" type="tns:Player"></element>
Run Code Online (Sandbox Code Playgroud)

build.xml文件:

    <exec executable="${javahome}/bin/xjc"  >

        <arg value="-extension" />
        <arg value="-b" />
        <arg value="binding.xml" />
        <arg value="-d" />
        <arg value="${sources}" />
        <arg value="-p" />
        <arg value="metier" />
        <arg value="Player.xsd" />

    </exec>
</target>
Run Code Online (Sandbox Code Playgroud)

binding.xml:

<jxb:bindings 
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc" elementFormDefault="qualified" attributeFormDefault="unqualified"
version="2.1">

<jxb:globalBindings>
    <xjc:simple />
    <xjc:serializable/>
</jxb:globalBindings>
Run Code Online (Sandbox Code Playgroud)

并且finnaly:

JAXBContext context = JAXBContext.newInstance(Player.class,ObjectFactory.class); Unmarshaller decodeur = context.createUnmarshaller();

我添加"xjc:simple"以获得@XMLRootElement,但引发了一个异常:javax.xml.bind.UnmarshalException:unexpected element(uri:"http://www.example.org/Player"

它没有正常工作,因为我得到了这个:@XmlRootElement(name ="Player",namespace ="http://www.example.org/Player")

而不只是:@XmlRootElement(name ="Player")

我怎样才能删除这个"命名空间"? …

ant xsd jaxb xjc

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

ant ×1

jaxb ×1

xjc ×1

xsd ×1