将不同应用程序的XML配置文件合并为一个?

时间:2009-08-31 18:50:23

标签: xml configuration

Application1有一个xml配置文件说:

<Application1>
   <ConfigApp1>Value1</ConfigApp1>
   <App1Layout>Layout</App1Layout>
</Application1>

Application2有一个xml配置文件说:

<Application2>
   <ConfigApp2>Value2</ConfigApp2>
   <App2Layout>Layout</App2Layout>
   </Options>Others</Options>
</Application2>

我希望为我的应用程序提供一个通用配置文件:

<MyApplication>
<MyAppConfiguration>Configuration</MyAppConfiguration>
<Application1>
   <ConfigApp1>Value1</ConfigApp1>
   <App1Layout>Layout</App1Layout>
</Application1>
<Application2>
   <ConfigApp2>Value2</ConfigApp2>
   <App2Layout>Layout</App2Layout>
   </Options>Others</Options>
</Application2>
</MyApplication>

和应用程序Application1和Application2应该能够从同一配置文件中自行配置。

据我所知,这是不可能的,因为Application1 / Application2会将MyApp配置文件的开始和结束标记看到MyApplication并丢弃它说 - 无效的配置文件。

有没有办法在不修改application1 / application2的情况下实现相同的目标?

2 个答案:

答案 0 :(得分:1)

您可以使用XSLT合并两个XML文档。您可以找到示例脚本here

答案 1 :(得分:0)

如果你可以修改这两个应用程序来使用你的新文件(这取决于它们处理配置的方式可能会也可能不是非常简单),然后这样做。否则我不会打扰 - 你只是为自己创造问题而没有真正的好处。

那就是说,如果你有一个中间步骤可以接受(如果我已经正确理解的那是trippy提到的那个),那么你可以拥有一个“源”XML配置文件。然后处理(通过XSLT或其他方式)从中导出2个单独的配置文件,然后由您的应用程序读取。