我有一個MSBUILD項目文件,我正在嘗試簽出一些xml文件並更新版本元素,並且似乎無法讓我的生活工作。這似乎應該是一個簡單的解決方案,但我無法讓它工作。我有一個簡單的XML文件:使用MSBuild.ExtensionPack.Xml.XmlFile更新XML文件UpdateElement
<XmlPeek XmlInputPath="c:\myProfile.xml"
Query="DataSet/Profile/Version[../Product = "ProductA"]/text()">
<Output TaskParameter="Result" ItemName="ProductVersion" />
</XmlPeek>
我使用XmlPoke更新版本,所以我嘗試XMLFILE的UpdateElement從XMLFILE的類頁沒有運氣:
<?xml version="1.0" standalone="yes"?>
<DataSet>
<Profile>
<Product>ProductA</Product>
<Version>1.2.3.4</Version>
</Profile>
~
</DataSet>
我可以用xmlPeek獲取版本
http://www.msbuildextensionpack.com/help/4.0.5.0/html/4009fe8c-73c1-154f-ee8c-e9fda7f5fd96.htm
<MSBuild.ExtensionPack.Xml.XmlFile
TaskAction="UpdateElement"
File="c:\machine.config"
XPath="/configuration/configSections/section[@name='system.data']"
InnerText="NewValue"/>
我試過follwing加上馬其他沒有任何工作的XPath版本。
<MSBuild.ExtensionPack.Xml.XmlFile
TaskAction="UpdateElement"
File="c:\myProfile.xml"
XPath="/DataSet/Profile/Version[@Product='ProductA']"
InnerText="5.6.7.8"
/>
我錯過了什麼?
還是沒有人知道xmlpoke
感謝
確定正確的XPath需要關於相應XML的信息。你能否發佈包含目標元素的XML的相關部分? – har07
我以爲我確實發佈了相關的xml部分,所以我假設你的意思是'xml版本'這一行 - 我添加到原始文章。 – Tom
對不起,你是對的。 XML已經在帖子的頂部,我怎麼能錯過! – har07