代码之家  ›  专栏  ›  技术社区  ›  pankajt

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

  •  0
  • pankajt  · 技术社区  · 17 年前

    应用程序1有一个XML配置文件,它说:

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

    应用程序2有一个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将在myapplication中看到myapp配置文件的开始和结束标记,并放弃该标记,即“配置文件无效”。

    在不修改application1/application2的情况下,是否有任何方法可以实现这一点?

    2 回复  |  直到 16 年前
        1
  •  0
  •   ChssPly76    17 年前

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

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

        2
  •  1
  •   user156605    17 年前

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