У меня есть метод на C#, который находит узел с именем node_name
в списке узлов arg
и возвращает значение найденного узла (при условии, что существует только один узел с такими имя). Если таких узлов не найдено, он должен вернуть пустую строку.Не удается получить возвращаемое значение из цикла foreach внутри метода
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 "";
}
Приведенный выше код всегда возвращает пустую строку. Что я здесь пропустил?
Возможно, вам нужен поиск без учета регистра? Попробуйте использовать функцию сравнения с перечислением ignorecase. – apoorv020
Возможно, вы захотите проверить Linq-to-SQL. Вы можете сделать это как один запрос Linq. После того, как я переключился на него, я хочу плакать, когда вижу кого-то, кто использует старую объектную модель. – juharr