Я новичок в том, чтобы что-либо делать с XML, поэтому я не знаю много терминов, поэтому жаль, возможно, плохо сформулированный вопрос.Выберите значение атрибута XML, найденное с помощью другого значения атрибута, сгруппированного вместе с ним.
У меня есть файл XML структурированы так:
<userinfo>
<id username="bobby" password="password123" email="[email protected]" question="Favourite colour" answer="blue"></id>
<id username="tommy" password="adc123" email="[email protected]" question="first pets name" answer="arnold"></id>
</userinfo>
(Любые предложенные улучшения этого будет оценен)
Мне нужно получить значение вопроса в виде строки, основанное на имени пользователя.
У меня есть некоторый код, взаимодействующий с XML уже, где я возвращать логическое значение для входа в систему, которая просто проверяет информацию там вместе:
public bool ValidLogin(string username, string password)
{
XDocument doc = XDocument.Load(@"K:\Sem2\Software Development in Application Frameworks\test stuff\text\loginDetails.xml");
return doc.Descendants("id")
.Where(id => id.Attribute("username").Value == username
&& id.Attribute("password").Value == password)
.Any();
}
Но что с помощью LINQ, я не знаю, как получить фактическое значение из xml.
Было бы хорошо, если бы это было так просто, как-то вдоль линий:
return doc.Descendants("id").Attribute("question").Value.Where(id => id.Attribute("username").Value == enteredUsername);
Это отлично работает на одной форме, но я чувствую себя как полный noob, но как мне получить значение «userInfo.question» в другой форме aspx, я не хочу публиковать значение в URL-адресе. – Vereonix
@Tom Это другой вопрос. Если вам нужно значение на более чем одной странице ASPX, вам нужно поддерживать какое-то состояние в своем приложении. Возможно, вам захочется немного узнать о состоянии сеанса или найти некоторые примеры аутентификации пользователей ASP.NET. – rsbarro
@Tom задает метод html формы POST. (GET = URL-запрос). Действие должно проверить, является ли форма = действительной. если успешно -> перенаправить на страницу приветствия – jzm