Come parte di un processo di configurazione dei cluster, sto tentando di creare un buildlabel costituito dal contenuto di un elemento xml all'interno di una struttura xml. Per questo scopo sto usando nant e xmlpeek. Il mio problema è che ho un errore strano affermando:L'uso di xmlpeek nello script Nant restituisce uno strano errore
"Nodeindex '0' è fuori portata"
Questo è solo il caso se il file XML sono xmlpeeking contiene una definizione dello spazio dei nomi in il nodo radice.
Rimuovere lo spazio dei nomi dal file xml mi dà l'output che mi aspetto.
Il target Nant che genera l'errore può essere boild fino a:
<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>
e il file test1.xml assomiglia a questo:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProductVersion>9.0.21022</ProductVersion>
</PropertyGroup>
</Project>
come potrebbe verificarsi quando si utilizza xmlpoke di seguito riportato lo stesso problema (http://stackoverflow.com/questions/2584766/nant-xmlpoke-and-unique-nodes). Stranamente non ho ricevuto hit di Google direttamente sul messaggio errato combinato con xmlpeek o nant. Grazie per la tua risposta, ora altre persone potrebbero non rimanere bloccate con quella strana errormessage – VilladsR