作爲CI過程的一部分,我嘗試創建一個構建標籤,該標籤由xml結構中的xml元素的內容組成。爲此我使用nant和xmlpeek。我的問題是,我得到一個奇怪的錯誤,指出:在Nant腳本中使用xmlpeek會產生奇怪的錯誤
「Nodeindex‘0’是超出範圍」
這只是個案如果XML文件我xmlpeeking包含在一個命名空間定義根節點。
從xml文件中刪除命名空間給了我期望的輸出。
生成錯誤可以boild下來的惡性目標:
<target name="TDSLabel">
<property name="element" value=""/>
<echo message="Getting element" />
<xmlpeek file="C:\xxx\test1.xml" xpath="//Project/PropertyGroup/ProductVersion" property="element"/>
<echo message="The found element value was: ${element}" />
</target>
和test1.xml文件看起來像這樣:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProductVersion>9.0.21022</ProductVersion>
</PropertyGroup>
</Project>
如前所述下同問題使用xmlpoke時可能會出現(HTTP:/ /stackoverflow.com/questions/2584766/nant-xmlpoke-and-unique-nodes)。奇怪的是我沒有得到任何谷歌命中直接在errormessage與xmlpeek或nant結合。感謝您的回答,現在其他人可能不會陷入那種奇怪的錯誤消息 – VilladsR 2012-03-21 21:59:22