"for"루프와 "if"루프를 함께 사용하여 xml 문서에 xml 요소가 있는지 확인하는 방법

카빈 두 가얀

로그인 시스템을 만들려고합니다. 이를 위해 xml 문서에서 xml 요소 ( "username"및 "password")의 존재를 확인해야합니다. "username"과 "password"가 일치하면 true를 반환하고 그렇지 않으면 false를 반환해야합니다. 이를 위해 "for"루프를 사용하여 전체 문서를 살펴보고 "if"루프를 유효성 검사에 사용합니다. Java 및 dom 파서를 사용하고 있습니다.

xml 문서 :

<login>
<user>
    <username>sunimal</username>
    <password>1111</password>
</user>
<user>
    <username>naveen</username>
    <password>852</password>
</user>
<user>
    <username>chamara</username>
    <password>12345</password>
</user></login>

자바 코드 :

boolean a = false;
    try {
        File inputFile = new File("C:\\Users\\Kavindu\\Documents\\NetBeansProjects\\chatserver2\\xml\\userrecord2.xml");
        DocumentBuilderFactory dbFactory
                = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(inputFile);

        NodeList userList = doc.getElementsByTagName("login");

          for (int i = 0; i < userList.getLength(); i++) {
            Node user = userList.item(i);
            Element eElement = (Element) user;

            if (eElement.getElementsByTagName("username").item(i).getTextContent().equals(username) && eElement.getElementsByTagName("password").item(i).getTextContent().equals(password)) {

                a = true;
            } else {
                a = false;
            }
        }




    } catch (Exception ex) {

    }
    return a;
}

첫 번째 요소 ( "sunimal"및 "1111")를 입력하면 true를 얻을 수 있지만 다른 요소의 경우 false를 반환합니다. "for"루프와 "if"루프를 다른 방식으로 시도했지만 결과를 얻지 못했습니다. 저는 프로그래밍을 새로 시작했습니다.

Godslave

여기에 해결책이 있습니다. 내 IDE에서 이것을 확인했습니다. 감사. :-)

태그의 첫 번째 요소를 얻으려면 인덱스 0을 사용해야합니다. eElement.getElementsByTagName("username").item(0)

사용자 이름과 암호가 일치하면 루프에서 벗어나야합니다.

a = 참; 단절;

그렇지 않으면 다음 반복에서 다시 false로 설정됩니다.

public boolean checkLogin(){

boolean a = false;
try {
    File inputFile = new File("C:\\Users\\Kavindu\\Documents\\NetBeansProjects\\chatserver2\\xml\\userrecord2.xml");
    DocumentBuilderFactory dbFactory
            = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(inputFile);
    NodeList userList = doc.getElementsByTagName("user");
    System.out.println("userlist length :: "+ userList.getLength());
      for (int i = 0; i < userList.getLength(); i++) {
        Node user = userList.item(i);
        Element eElement = (Element) user;
        if (eElement.getElementsByTagName("username").item(0).getTextContent().equals(username) && eElement.getElementsByTagName("password").item(0).getTextContent().equals(password)) {

            a = true;
            break;
        } else {
            a = false;
        }
    }




} catch (Exception ex) {
    System.out.println(ex.getMessage());

}
return a;


}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 XML C #에 요소가 있는지 확인하는 방법

분류에서Dev

XML에 요소가 있는지 확인하는 방법

분류에서Dev

XSLT : 단일 XML에서 다중 루프 요소를 구현하는 방법

분류에서Dev

for in 및 if 문을 루프와 함께 사용하는 방법

분류에서Dev

하나의 루프를 사용하여 여러 XML 요소를 삭제하는 방법은 무엇입니까?

분류에서Dev

XML에 요소를 추가하는 Foreach 루프

분류에서Dev

R : plot 함수와 함께 루프 문을 사용하여 4 개의 그래프를 그리는 방법

분류에서Dev

입력 함수와 함께 for 루프를 사용하는 방법

분류에서Dev

foreach 루프가있는 LINQ to XML을 사용하여 XML 문서 만들기

분류에서Dev

foreach 루프가있는 LINQ to XML을 사용하여 XML 문서 만들기

분류에서Dev

LINQ를 사용하여 XML 요소가 있는지 확인

분류에서Dev

극작가와 함께 문서에 요소가 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

for 루프와 함께 awk를 사용하는 방법?

분류에서Dev

JAXB를 사용하여 여러 XML 루트 요소를 작성하는 방법

분류에서Dev

XML 노드가 있는지 확인-사용 가능한 경우 노드를 찾지 못하는 루프

분류에서Dev

XML 비동기 작업에서 ListView와 함께 CustomAdapter를 사용하는 방법

분류에서Dev

루프를 사용하여 문자열의 모든 문자가 대문자인지 확인하는 방법

분류에서Dev

여러 루트 요소를 사용하여 XML을 만드는 방법

분류에서Dev

for 루프와 aysnc 물을 함께 사용하는 가장 좋은 방법

분류에서Dev

요소가 while 루프에 나타나는지 확인하는 방법

분류에서Dev

Python 및 ElementTree를 사용하여 <? xml version = "1.0"encoding = "UTF-8"?>의 루트 xml 요소를 감지하는 방법

분류에서Dev

PLPGSQL에서 FOR 루프와 함께 WITH를 사용하는 방법은 무엇입니까?

분류에서Dev

xml에 노드가 있는지 여부를 확인하는 방법

분류에서Dev

XQuery를 사용하여 for 루프를 사용하여 xml 노드를 삭제하는 방법

분류에서Dev

루프를 사용하여 변수가 사전에 있는지 확인

분류에서Dev

while 루프와 함께 range ()를 사용하는 방법은 무엇입니까?

분류에서Dev

C에서 while 루프를 사용하여 배열 요소를 추가하는 방법은 무엇입니까?

분류에서Dev

노드 목록을 통해 for 루프와 함께 match () 메서드를 사용하는 방법

분류에서Dev

for 루프 내부에서 XML에 여러 요소를 삽입하는 동안 문자열 보간

Related 관련 기사

  1. 1

    이 XML C #에 요소가 있는지 확인하는 방법

  2. 2

    XML에 요소가 있는지 확인하는 방법

  3. 3

    XSLT : 단일 XML에서 다중 루프 요소를 구현하는 방법

  4. 4

    for in 및 if 문을 루프와 함께 사용하는 방법

  5. 5

    하나의 루프를 사용하여 여러 XML 요소를 삭제하는 방법은 무엇입니까?

  6. 6

    XML에 요소를 추가하는 Foreach 루프

  7. 7

    R : plot 함수와 함께 루프 문을 사용하여 4 개의 그래프를 그리는 방법

  8. 8

    입력 함수와 함께 for 루프를 사용하는 방법

  9. 9

    foreach 루프가있는 LINQ to XML을 사용하여 XML 문서 만들기

  10. 10

    foreach 루프가있는 LINQ to XML을 사용하여 XML 문서 만들기

  11. 11

    LINQ를 사용하여 XML 요소가 있는지 확인

  12. 12

    극작가와 함께 문서에 요소가 있는지 확인하는 방법은 무엇입니까?

  13. 13

    for 루프와 함께 awk를 사용하는 방법?

  14. 14

    JAXB를 사용하여 여러 XML 루트 요소를 작성하는 방법

  15. 15

    XML 노드가 있는지 확인-사용 가능한 경우 노드를 찾지 못하는 루프

  16. 16

    XML 비동기 작업에서 ListView와 함께 CustomAdapter를 사용하는 방법

  17. 17

    루프를 사용하여 문자열의 모든 문자가 대문자인지 확인하는 방법

  18. 18

    여러 루트 요소를 사용하여 XML을 만드는 방법

  19. 19

    for 루프와 aysnc 물을 함께 사용하는 가장 좋은 방법

  20. 20

    요소가 while 루프에 나타나는지 확인하는 방법

  21. 21

    Python 및 ElementTree를 사용하여 <? xml version = "1.0"encoding = "UTF-8"?>의 루트 xml 요소를 감지하는 방법

  22. 22

    PLPGSQL에서 FOR 루프와 함께 WITH를 사용하는 방법은 무엇입니까?

  23. 23

    xml에 노드가 있는지 여부를 확인하는 방법

  24. 24

    XQuery를 사용하여 for 루프를 사용하여 xml 노드를 삭제하는 방법

  25. 25

    루프를 사용하여 변수가 사전에 있는지 확인

  26. 26

    while 루프와 함께 range ()를 사용하는 방법은 무엇입니까?

  27. 27

    C에서 while 루프를 사용하여 배열 요소를 추가하는 방법은 무엇입니까?

  28. 28

    노드 목록을 통해 for 루프와 함께 match () 메서드를 사용하는 방법

  29. 29

    for 루프 내부에서 XML에 여러 요소를 삽입하는 동안 문자열 보간

뜨겁다태그

보관