PHP týden Předvánoční slevová akce
Další šance dokončit svůj projekt a získat ceny v hodnotě 10.000 Kč! Pokračování úspěšné letní soutěže - ITnetwork winter
Využij předvánočních slev a získej od nás 20 % bodů navíc zdarma! Zároveň také probíhá PHP týden se slevou na e-learning až 80 %

Diskuze: Čítanie XML súboru

Aktivity (2)
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:2. dubna 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. dubna 20:21
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:15. dubna 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. dubna 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.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
rosina.jakub
Člen
Avatar
Odpovídá na Lubor Pešek
rosina.jakub:15. dubna 14:19

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

 
Nahoru Odpovědět
15. dubna 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.