Я пытаюсь проверить имя пользователя и пароль, анализируя мой XML-файл, заполненный пользователями. В настоящее время мой метод возвращается как ложный. Предполагается пройти через дочерние элементы <users>
и найти пользователя с указанным именем пользователя, а также проверить пароль по параметрам checkUser()
.
Не получается получить доступ к тексту внутри элемента <password>
.
Вот что я пробовал до сих пор:
fun checkUser(username: String, password: String) : Boolean {
val xmlFile = File("Users.xml")
val doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile)
var list = doc.getElementsByTagName("user")
for (i in 0 until list.length) {
var current = list.item(i)
if (current.attributes.getNamedItem("id").nodeValue == username) {
return current.lastChild.textContent == password //trying to check text against given password
}
}
return false
}
fun main(args: Array<String>) {
println(checkUser("alec", "123")) //returns false right now
}
Вот мой XML-файл:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<users>
<user id="alec">
<username>alec</username>
<password>123</password>
</user>
<user id="john">
<username>john</username>
<password>415</password>
</user>
</users>
EDIT
current.attributes.item(0)
возвращает узел, но мне нужно получить атрибут id
внутри тега <user>
и сравнить его с данным именем пользователя.
EDIT
Исправлен код для получения идентификатора и сравнения с параметром username
, по-прежнему возвращает значение false