Là một phần của quá trình CI Tôi đang cố gắng tạo một nhãn xây dựng bao gồm nội dung của phần tử xml trong cấu trúc xml. Với mục đích này, tôi đang sử dụng nant và xmlpeek. Vấn đề của tôi là tôi nhận được một lỗi lẻ nêu:Sử dụng xmlpeek trong kịch bản Nant cho lỗi lẻ
"Nodeindex '0' là ra khỏi phạm vi"
Đây chỉ là trường hợp nếu file xml Tôi xmlpeeking chứa một định nghĩa namespace trong nút gốc.
Xóa vùng tên khỏi tệp xml cung cấp cho tôi kết quả mong đợi.
Mục tiêu Nant mà tạo ra các lỗi có thể được boild xuống:
<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>
và file test1.xml trông như thế này:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProductVersion>9.0.21022</ProductVersion>
</PropertyGroup>
</Project>
Như đã trình bày ở dưới cùng một vấn đề có thể xảy ra khi sử dụng xmlpoke (http://stackoverflow.com/questions/2584766/nant-xmlpoke-and-unique-nodes). Kỳ lạ là tôi đã không nhận được bất kỳ truy cập google trực tiếp trên errormessage kết hợp với không xmlpeek hoặc nant. Cảm ơn câu trả lời của bạn, bây giờ những người khác có thể không gặp khó khăn với sai lầm kỳ lạ đó – VilladsR