2017-08-03 60 views
0

我有一個XML文件是這樣的:的Java的XML文件獲取屬性和創建對象

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ActionDictionary> 
    <action id="100000"> 
     <actiontype>BackupFile</actiontype> 
     <filename>translated.properties</filename> 
    </action> 

    <action id="100001"> 
     <actiontype>ModifyPropertiesFile</actiontype> 
     <filename>translated.properties</filename> 
    </action> 


    <action id="100002"> 
     <actiontype>DeployDomain</actiontype> 
     <hostname>localhost</hostname> 
     <port>8000</port> 
     <domainhome>c:\\domain</domainhome> 
    </action> 
</ActionDictionary> 

執行時,動作ID將被分給程序(例如:ID =「10000」)。該程序將使用該id來獲取上述xml文件中具有與給定id相同的id的action標籤的所有屬性。這些屬性可以放在某個對象的地方。然後我可以使用這個對象來繼續其他業務。

我怎麼能在Java中實現這個?

+0

我已經修改了它的讀取。據我所知,Java具有用於將XML解析爲對象的JAXB技術,反之亦然。但JAXB不能在這種情況下使用,所以我會知道是否有任何解決方案,我的問題:) –

+0

是否有任何其他限制XML解析? –

+0

@MartinFrank我的xml文件包含許多類型的動作,每個動作的屬性與其他動作非常不同,這意味着每個「動作標籤」都會有自己的Ojbect設計,因此無法應用JAXB。 –

回答

0

@Hoang,你可以使用javax api的javax.xml.bind.annotation.XmlElement和javax.xml.bind.annotation.XmlType。

我建議必須通過API文檔Javax API