NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

Diskuze: Čítanie XML súboru

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:2.4.2019 20:21

Ahojte,
mám vytvorený takýto XML súbor:

<data>
          <manager>
                        <name>Meno</name>
                        <pass>123</pass>
                        <companies>
                                <company>
                                        <company_name>Meno</company_name>
                                        <ICO>123456</ICO>
                                </company>
                                <company>
                                        <company_name>Meno</company_name>
                                        <ICO>123456</ICO>
                                </company>
                        </companies>
                </manager>
          <manager>
                        <name>Meno</name>
                        <pass>123</pass>
                        <companies>
                                <company>
                                        <company_name>Meno</company_name>
                                        <ICO>123456</ICO>
                                </company>
                        </companies>
                </manager>
</data>

Chci docílit: Po prihlásení chcem vypísať všetky firmy, ktoré spadajú pod užívateľa.

public void companies(User user) {

        try {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(new File("executive_managers_data.xml"));

        Node koren = doc.getDocumentElement();
        koren.normalize();

        NodeList managerList = doc.getElementsByTagName("manager");

        for(int i=0; i < managerList.getLength(); i++) {
            Node zaznam = managerList.item(i);
            if(zaznam.getNodeType() == Node.ELEMENT_NODE && zaznam.getNodeName().equals("manager")) {
                Element uzivatel = (Element) zaznam;

                ID = uzivatel.getElementsByTagName("ID").item(0).getTextContent();
                if(user.getName().equals(ID))
                {
                    NodeList companies = zaznam.getChildNodes();
                    System.out.print(companies.getLength());
                    for(int j = 0; j < companies.getLength(); j++) {
                        Node companyNode = companies.item(j);
                        if(companyNode.getNodeType() == Node.ELEMENT_NODE && companyNode.getNodeName().equals("company")) {
                            Element company = (Element) companyNode;

                            System.out.println(company.getElementsByTagName("company_name").item(0).getTextContent());
                        }

                    }
                }

            }
        }
    } catch(ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Mám tam podmienku, že ak meno užívateľa, ktorý je už prihlásený je zhodné s nejakým menom v súbore tak načítam do listu všetky záznamy z firiem. Potom chcem postupne tento list vypísať.

Ďakujem za pomoc

 
Odpovědět
2.4.2019 20:21
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:15.4.2019 14:19

Koukám, že jsme se na tebe všichni hezky vys...kašlali:) Je tvůj problém ještě aktuální? Když tak se na to mrknu.

Nahoru Odpovědět
15.4.2019 14:19
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
rosina.jakub
Člen
Avatar
Odpovídá na Lubor Pešek
rosina.jakub:15.4.2019 14:19

Ďakujem, podarilo sa mi to vtedy vyriešiť.

 
Nahoru Odpovědět
15.4.2019 14:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.