Quiero limitar la búsqueda de un nodo secundario para que esté dentro del nodo actual en el que estoy. Por ejemplo, tengo el siguiente código:Sintaxis de XmlNode.SelectSingleNode para buscar dentro de un nodo en C#
XmlNodeList myNodes = xmlDoc.DocumentElement.SelectNodes("//Books");
foreach (XmlNode myNode in myNodes)
{
string lastName = "";
XmlNode lastnameNode = myNode.SelectSingleNode("//LastName");
if (lastnameNode != null)
{
lastName = lastnameNode.InnerText;
}
}
Quiero el elemento LastName que se debe buscar dentro de la corriente miNodo interior del foreach. Lo que está sucediendo es que el Apellido encontrado siempre es desde el primer nodo con myNodes. No quiero codificar la ruta exacta de LastName, sino permitir que sea flexible con respecto a dónde se encontrará dentro de myNode. Hubiera pensado que el uso del método SelectSingleNode en myNode habría limitado la búsqueda a estar solo dentro del contenido xml de myNode y no incluir los nodos principales.
El "" Funcionó muy bien. ¿Sabes dónde se puede encontrar esa sintaxis? Busqué este tipo de información y encontré el "//" pero no el "." Estoy pensando que hay otra sintaxis que puedo usar. – user31673
[sintaxis XPath] (http://www.w3schools.com/xsl/xpath_syntax.asp) –
Enlace actualizado a la sintaxis de XPath que @ ibo.ezhe mencionó: https://www.w3schools.com/xml/xpath_syntax.asp – PolyTekPatrick