2017-08-29 86 views
0

我正在使用Apache commons配置2.1.1來讀取XML文件。我搜索了他們的文檔以寫入XML文件,但沒有找到合適的答案。如何寫入/更改XML配置中的單值。使用Apache Commons配置文件

假設一個XML配置。文件條目:

<program_flow> 
    <program_pause 
     value = "10" 
     ...> 
    </program_pause> 
    <program_quit 
     value = "60" 
     ..."> 
    </program_quit> 
</program_flow> 

這些條目指示程序暫停10秒,然後繼續(循環操作)並在60秒後退出。

請注意XML配置。文件有許多其他條目。

與Apache我加載從配置文件中的條目,以我的Java應用程序:

final Configurations APACHE_CONF = new Configurations(); 
XMLConfiguration apacheXMLConf = APACHE_CONF.xml(configPathFile); 
HierarchicalConfiguration xmlSection = apacheXMLConf.configurationAt("program_flow"); 
String pauseValue = xmlSection.getString("program_pause.[@value]"); 
String quitValue = xmlSection.getString("program_quit.[@value]"); 

現在程序知道做什麼用的值 - 10秒暫停60秒後退出。棘手的部分是我想允許配置。管理員改變他的想法並改變配置中的任何值。隨時可以存檔。另外,暫停10秒後,我們不想從配置中讀取。再次文件「10」秒,因爲它會一直重複我們的程序。 'program_pause'值必須變爲「0」。所以'program_quit'的值必須在程序下次啓動時不會退出。

的問題是:

使用Apache的共享配置,我們如何以編程方式配置的同款更改任何給定的XML值,它已被讀取後,另一個值。文件 - 如那些在我們的例子:

from: 

<program_pause value = "10"> 
<program_quit value = "60"> 

to: 

<program_pause value = "0"> 
<program_quit value = "0"> 

? ? ? 

回答

0

我找到了一些解決這個問題,但是,這些工具包括Apache那些重新調整和重新格式化原始的XML文件。

在我的情況下,我需要XML文件完全一樣的原始,只有值改變。我最終編寫了一個很好的替換XML文件中的值並保持所有格式的小類。如果任何人有興趣查看或使用它,請在此處張貼便條,然後發佈代碼。

相關問題