2017-08-03 77 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