【发布时间】:2012-03-22 05:55:15
【问题描述】:
作为 CI 过程的一部分,我正在尝试创建一个构建标签,该标签由 xml 结构中的 xml 元素的内容组成。为此,我使用了 nant 和 xmlpeek。我的问题是我收到一个奇怪的错误说明:
“节点索引‘0’超出范围”
仅当我正在 xmlpeeking 的 xml 文件在根节点中包含命名空间定义时才会出现这种情况。
从 xml 文件中删除命名空间会得到我期望的输出。
产生错误的nant目标可以归结为:
<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>
【问题讨论】:
标签: nant