MSBUILD:如何附加到XML文件
对于ou应用程序,我们使用在构建过程中生成的XML文件(目前使用NAnt)。在XML文件中,每个应用程序模块都有一个部分。现在我想从NAnt切换到MSBuild 我想将每个模块的模块描述附加到XML文件中。XML文件应具有以下结构MSBUILD:如何附加到XML文件,msbuild,xmlpoke,Msbuild,Xmlpoke,对于ou应用程序,我们使用在构建过程中生成的XML文件(目前使用NAnt)。在XML文件中,每个应用程序模块都有一个部分。现在我想从NAnt切换到MSBuild 我想将每个模块的模块描述附加到XML文件中。XML文件应具有以下结构 <?xml version="1.0" encoding="utf-8"?> <FactoryConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:/
<?xml version="1.0" encoding="utf-8"?>
<FactoryConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Modules>
<ModuleConfig>
<ModuleName>Module1</ModuleName>
<Description>Module1 Description</Description>
<AssemblyName>Assembly.Module1</AssemblyName>
<ModuleClass>Module1.class</ModuleClass>
<Enabled>true</Enabled>
</ModuleConfig>
<ModuleConfig>
<ModuleName>Module2</ModuleName>
<Description>Module2 Description</Description>
<AssemblyName>Assembly.Module2</AssemblyName>
<ModuleClass>Module2.class</ModuleClass>
<Enabled>true</Enabled>
</ModuleConfig>
</Modules>
</FactoryConfig>
模块1
模块1说明
组装模块1
模块1.1类
真的
模块2
模块2说明
汇编.Module2
模块2.class
真的
这里是我的MSBuild代码
<XmlPeek XmlInputPath="$(WebDir)FactoryConfig.xml" Query="/FactoryConfig/Modules">
<Output TaskParameter="Result" ItemName="Peeked" />
</XmlPeek>
<Message Text="Subtree: @(Peeked)" />
<XmlPoke XmlInputPath="$(WebDir)FactoryConfig.xml" Query="/FactoryConfig/Modules" Value="@(Peeked)
<ModuleConfig>
<ModuleName>Test</ModuleName>
<Description>Test</Description>
<AssemblyName>Test</AssemblyName>
<ModuleClass>Test</ModuleClass>
<Enabled>true</Enabled>
</ModuleConfig>">
</XmlPoke>
我可以向xml文件添加一个部分。但我不知道如何将现有树作为字符串读取,并将其与新树合并,然后将其添加到文件中
如果一个模块已经在那里,它应该被替换。我想这正是您需要的。播放AddElement/UpdateElement操作 可能更容易编写一些C#代码来完成此任务,然后从MSBuild调用该代码。是的,您可能正处于开始研究编写自定义MSBuild任务的时候。这也是一个有用的链接: