我用Jaxb生成了一些XML,看起來不錯。這裏有一個snipit:Jaxb:通過xmlns屬性代替元素前綴的本地namspacing?
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ns2:oval_system_characteristics xsi:schemaLocation="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5 oval-system-characteristics-schema.xsd http://oval.mitre.org/XMLSchema/oval-common-5 oval-common-schema.xsd http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#esx esx-system-characteristics-schema.xsd"
xmlns:ns2="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns="http://oval.mitre.org/XMLSchema/oval-common-5" xmlns:ns3="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#esx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
<ns3:visdkmanagedobject_item id="1">
<ns3:property>isolation.tools.diskWiper.disable</ns3:property>
<ns3:value datatype="boolean">true</ns3:value>
</ns3:visdkmanagedobject_item>
這是符合標準的XML。不幸的是,我通過下游系統的約束的限制,它只接受XML格式是這樣的:
<visdkmanagedobject_item id="1" xmlns="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#esx">
<property>isolation.tools.diskWiper.disable</property>
<value datatype="boolean">true</value>
</visdkmanagedobject_item>
如果某些元素通過的xmlns命名空間屬性。 現在對於這個問題,我該如何讓Jaxb停止(做正確的事情)使用前綴命名元素並使用xmlns屬性開始命名元素?