2013-05-31 65 views
1

此行在使用JAXB進行封送/解組時的作用是什麼?當我從生成的xml文件中刪除它時,程序返回null。有沒有解決方案可以避免它?我想讀使用不同技術來自不同組織生成的XML文件:JAXB生成的xml文件中的附加元素

<myRootEelement xmlns:ns2="myPackage.MyEntity" xmlns:ns3="myPackage.MyRootEntity"> 

回答

0

xmlns是一個XML機制從JAXB分開。以下行將名稱空間URI myPackage.MyEntity分配給前綴ns2,並將名稱空間URI myPackage.MyRootEntity分配給前綴ns3

<myRootEelement xmlns:ns2="myPackage.MyEntity" xmlns:ns3="myPackage.MyRootEntity"> 

通常情況下,您的XML文檔中的元素必須使用這些前綴限定。在下面的示例中,元素ns2:foo具有本地名稱foo和名稱空間URI myPackage.MyEntity

<myRootEelement xmlns:ns2="myPackage.MyEntity" xmlns:ns3="myPackage.MyRootEntity"> 
    <ns2:foo>Hello</ns2:foo> 
    <ns3:bar>World</ns3:bar> 
</myRootEelement> 

您示例中的URI是奇數。一個URI應該包含一個模式並且看起來像http://wwww.example.com/foo。我猜測XML文檔是濫用它們的。舉一個例子,請參閱:

+0

感謝,但我不我的代碼中使用任何@XmlType(命名空間=或@XmlSchema空間(namespace =,所以我不知道該怎麼Java的to-xml方法生成它們以及爲什麼當我從生成的文件中刪除它們時,xml-to-java方法返回null for myPackage.MyEntity? – nazila

+0

@nazila - 你能發佈一些代碼來證明這個問題嗎?你確定你是使用JAXB? –

+0

教程:http://www.javacodegeeks.com/2013/02/jaxb-tutorial-getting-started.html和代碼:https://dl.dropbox.com/s/fdlmadum7nb9xao/JAXBTutorialExample。拉鍊,也如何可以有多個國家的標籤在一個文件中?我創建了一個額外的對象(myPackage.MyRootEntity),其中包含myPackage.MyEntity作爲國家列表。 – nazila

相關問題