J'ai une méthode en C# qui trouve un nœud avec le nom node_name
dans la liste de nœuds arg
, et renvoie la valeur du nœud trouvé (en supposant qu'il n'y ait qu'un seul nœud avec un tel prénom). Si aucun de ces nœuds n'est trouvé, il doit renvoyer une chaîne vide.Impossible d'obtenir une valeur de retour d'une boucle foreach à l'intérieur d'une méthode
public string get_nodes_value(XmlNodeList arg, string node_name)
{
foreach (XmlNode arg_node in arg)
{
if (!arg_node.HasChildNodes)
{
if (String.Compare(arg_node.ParentNode.Name, node_name) == 0)
{
return arg_node.Value;
}
}
else
{
get_nodes_value(arg_node.ChildNodes, node_name);
}
}
return "";
}
Le code ci-dessus renvoie toujours une chaîne vide. Qu'est-ce qui me manque ici?
Avez-vous besoin d'une recherche insensible à la casse? Essayez d'utiliser la fonction de comparaison avec l'ignorecase enum. – apoorv020
Vous voudrez peut-être consulter Linq-to-SQL. Vous pouvez le faire en tant que requête Linq. Après je suis passé à cela, je veux pleurer chaque fois que je vois quelqu'un en utilisant l'ancien modèle d'objet. – juharr