Problema con SelectSingleNode

lunedì 31 luglio 2006 - 11.09

stena Profilo | Junior Member

Ciao a tutti.. vengo subito al dunque:

sto sviluppando un programma in c# dove devo leggere dei dati da un xmldocument ottenuto da una tabella SQL.
Il mio problema deriva dal fatto che alcuni campi hanno dei valori seguiti da spazi finali; ad esempio ho il nodo "<uid>root </uid>"
Se eseguo il seguente comando SelectSingleNode("descendant::Users[uid='root']"); non trovo il nodo.
Invece se lo eseguo come SelectSingleNode("descendant::Users[uid='root ']"); lo ottengo.

La mia domanda è se esiste un modo per effettuare tale ricerca senza considerare gli spazi finali, anche perchè se non sbaglio mi sembra che in teoria il parse non dovrebbe considerarli.

Se qualcuno potesse darmi una dritta mi farebbe un immenso piacere...

Ciao e grazie..

stena Profilo | Junior Member

La questione è che ho un xmldocument contenente una serie di user ed utilizzo il nodo "uid" come chiave per scorrere il documento.
Nell'esempio in questione ho risolto utilizzando campi come varchar e quindi non ho più il problema degli spazi finali.

La mia questione a questo punto è di carattere generale e vorrei sapere se è possibile eseguire una ricerca di un nodo senza considerare se contiene eventuali spazi finali.
P.S.: il problema si pone anche senza l'utilizzo di "descendant" ma ricercando come "//Users[uid='root']".

<Users>
...
</Users>

<Users>
<id>1</id>
<uid>root </uid>
<pwDigest>Yna=</pwDigest>
<realName>Prova</realName>
<powers>Liou</powers>
</Users>

<Users>
...
</Users>

grazie Coach!! per l'interessamento.

stena Profilo | Junior Member

> Hai provato a settare a false la proprietà PreserveWhitespace?

L'ho fatto ma senza ottenere nessun cambiamento.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5