Jea*_*ett 5 java xml data-structures
我有一个包含一堆模拟设置的XML文件(下面的部分示例).我想将这些设置加载到Java类中,以便以后可以使用这些设置,而不必每次我(或其他不熟悉DOM /的程序员)编写繁琐的DOM/XPath术语(并导入相关的包) XPath)想要访问特定的设置.
现在我设置了许多代表XML树中每个信息级别的子类,并"手动"将信息解析为所有这些子类.结果是,例如,如果我想得到方向号3,我可以写:
settings.setup.directions[3]
Run Code Online (Sandbox Code Playgroud)
我想这可行,但确实感觉很僵硬.
有更聪明的方法吗?我们应该坚持使用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>
Run Code Online (Sandbox Code Playgroud)
如果您对 XML 文件的布局具有灵活性,并且不需要特别需要在 JAXB 中使用设置类,请尝试使用 Commons Configuration:
创建 XML 设置文件非常简单:
XMLConfiguration configCreate = new XMLConfiguration();
configCreate.setFileName("settings.xml");
configCreate.addProperty("somesetting", "somevalue");
configCreate.save();
Run Code Online (Sandbox Code Playgroud)
从 XML 设置文件中读取:
XMLConfiguration configRead = new XMLConfiguration("settings.xml");
String settingValue = configRead.getString("somesetting");
Run Code Online (Sandbox Code Playgroud)
见http://commons.apache.org/configuration/
| 归档时间: |
|
| 查看次数: |
23440 次 |
| 最近记录: |