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

将不同应用程序的XML配置文件合并为一个?,xml,configuration,Xml,Configuration,Application1有一个xml配置文件,例如: <Application1> <ConfigApp1>Value1</ConfigApp1> <App1Layout>Layout</App1Layout> </Application1> <Application2> <ConfigApp2>Value2</ConfigApp2> <App2Layout

Application1有一个xml配置文件,例如:

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

价值1
布局
Application2有一个xml配置文件,例如:

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

价值2
布局
其他
我想为我的应用程序创建一个通用配置文件,如下所示:

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

配置
价值1
布局
价值2
布局
其他
应用程序Application1和Application2应该能够从同一个配置文件中配置自己

据我所知,这是不可能的,因为Application1/Application2将在MyApplication中看到MyApp配置文件的开始和结束标记,并将其丢弃为-invalid Configuration file


有没有办法在不修改application1/application2的情况下实现同样的效果?

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

如果您可以修改这两个应用程序以使用您的新文件(这取决于它们处理配置的方式可能非常简单,也可能不太简单),那么就这样做。否则我就不麻烦了——你只会给自己制造麻烦,而没有真正的好处


也就是说,如果您可以接受一些中间步骤(如果我理解正确的话,
trippy
就是指这个步骤),那么您可以拥有一个“源”XML配置文件,然后(通过XSLT或其他方式)进行处理从中派生两个单独的配置文件,然后由应用程序读取。

我想您误解了我的问题,或者我听不懂。有两个特定于应用程序的配置文件。我想合并它们,但这两个应用程序仍然应该能够使用它们。