Tendríamos que ver el xml; @Lee da el enfoque correcto aquí, así que algo como:
var el = rootElRecDocXml.SelectSingleNode(
"/ArrayOfRecentFiles/RecentFile[text()='"+mFilePath+"']");
(tomando tu edición/respuesta en cuenta)
Sin embargo! Hay un montón de trampas:
- la consulta será entre mayúsculas y minúsculas
- de espacio en blanco será significativo (por lo
<foo>abc</foo>
es diferente a <foo> abc[newline]</foo>
etc - ídem retorno de carro)
- espacios de nombres XML son significativas, por lo es posible que tenga
.SelectSingleNode("/alias:ArrayOfRecentFiles[text()='"+mFilePath+"']", nsmgr);
, donde nsmgr
es el espacio de nombres-manager
Para dar un ejemplo completo, que coincide tu comentario:
XmlDocument rootElRecDocXml = new XmlDocument();
rootElRecDocXml.LoadXml(@"<ArrayOfRecentFiles> <RecentFile>C:\asd\1\Examples\8389.atc</RecentFile> <RecentFile>C:\asd\1\Examples\8385.atc</RecentFile> </ArrayOfRecentFiles>");
string mFilePath = @"C:\asd\1\Examples\8385.atc";
var el = rootElRecDocXml.SelectSingleNode(
"/ArrayOfRecentFiles/RecentFile[text()='" + mFilePath + "']");
Aquí, el
es nonull
después de la llamada SelectSingleNode
. Encuentra el nodo.
la anterior es mi xml – PUG
este es mi xml: C: \ asd \ 1 \ Ejemplos \ 8389.atc C: \ asd \ 1 \ Ejemplos \ 8385.atc \t ArrayOfRecentFiles> –
PUG
@jaminator - ver actualización –