私はMSBUILDプロジェクトファイルを持っていますが、いくつかのXMLファイルをチェックアウトしてバージョン要素を更新しようとしています。これは単純な解決策でなければならないようですが、私はそれを働かせることはできません。私はxmlPeekを使用してバージョンを取得することができますMSBuild.ExtensionPack.Xml.XmlFileを使用してXMLファイルを更新するUpdateElement
<?xml version="1.0" standalone="yes"?>
<DataSet>
<Profile>
<Product>ProductA</Product>
<Version>1.2.3.4</Version>
</Profile>
~
</DataSet>
:私は、単純なXMLファイルを持っている
<XmlPeek XmlInputPath="c:\myProfile.xml"
Query="DataSet/Profile/Version[../Product = "ProductA"]/text()">
<Output TaskParameter="Result" ItemName="ProductVersion" />
</XmlPeek>
私はバージョンを更新XmlPokeを使用して運がなかったので、私はXMLFILEのクラスページからXMLFILEのUpdateElementを試してみました:
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で
正しいXPathを決定するには、対応するXMLに関する情報が必要です。ターゲット要素を含むXMLの関連部分を投稿してください。 – har07
私は関連するxml部分を投稿したと思ったので、あなたは 'xml version'の行を意味すると仮定しています - 元の投稿に追加しました。 – Tom
申し訳ありませんが、あなたは正しいです。 XMLがすでに投稿の上にあったので、どうすればそれを逃すことができますか? – har07