我有一个包含一堆模拟设置的
XML文件(下面的部分示例).我想将这些设置加载到
Java类中,以便以后可以使用这些设置,而不必每次我(或其他不熟悉DOM的程序员)编写繁琐的DOM / XPath术语(并导入相关的包) XPath)想要访问特定的设置.
现在我设置了许多代表XML树中每个信息级别的子类,并“手动”将信息解析为所有这些子类.结果是,例如,如果我想得到方向号3,我可以写:
settings.setup.directions[3]
我想这可行,但确实感觉很僵硬.
有更聪明的方法吗?我们应该坚持使用DOM并跳过此转换业务吗? (请不!)
请注意,我不是在寻找有关如何加载XML文件的说明 – 我知道如何将其加载到DOM文档中并使用XPath进行解析.
<?xml version="1.0"?> <Settings> <Identity> <JobNumber>1234567</JobNumber> <SimulationName>MyTest</SimulationName> </Identity> <PreProcessing > <Tolerance>0.01</Tolerance> </PreProcessing > <PreprocessedInputData> <PreChewedThing></PreChewedThing> <OtherThing></OtherThing> </PreprocessedInputData> <Setup> <DomainExtent> <XMin>260</XMin> <XMax>290</XMax> <YMin>523</YMin> <YMax>565</YMax> </DomainExtent> <Directions> <Direction Index = "1">0</Direction> <Direction Index = "2">10</Direction> <Direction Index = "3">20</Direction> <Direction Index = "4">30</Direction> </Directions> </Setup> </Settings>
解决方法
您可以将JAXB用于此目的,它旨在将XML绑定到Java类.
有关 http://jaxb.java.net/guide/的有用指南和 http://jaxb.java.net/tutorial/的教程
有关 http://jaxb.java.net/guide/的有用指南和 http://jaxb.java.net/tutorial/的教程