0

I have two different XML's, both containing the same products but in another language. The problem is, I want to add the description of the French XML to the description of the Dutch one, but the French XML contains a lot more products. This is what I tried, but it doesn't work since the French XML is bigger. (Also, I believe I made a mistake since the products aren't on the same position either, they just share the same product code (named code in the Dutch XML and artikelnummer in the French XML). What should I do here?

    doc = (Document) builder.build(xmlFile);
    docfrans = (Document) builder.build(xmlFilefrans);




    root = doc.getRootElement();
    root.setName("productlist");
    List<Element> elementje = root.getChildren();

    rootfrans = docfrans.getRootElement();
    List<Element> elementjefrans = rootfrans.getChildren();
    for (int i = 0; i < elementjefrans.size(); i++) {
        Element verwijderdelementfrans = elementjefrans.get(i);
        Element verwijderdelement = elementje.get(i);
        List<Element> lijstjefrans = verwijderdelementfrans.getChildren();
        List<Element> lijstje = verwijderdelement.getChildren();
        for (int j = 0; j < lijstjefrans.size(); j++) {
            if ( verwijderdelementfrans.getChild("artikelnummer").getText().equals(verwijderdelement.getChild("code").getText()) ){
                System.out.println("test");
                verwijderdelement.getChild("description").setText(verwijderdelement.getChild("description").getText()+verwijderdelementfrans.getChild("omschrijving").getText());
            }
        }
    }
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Boyen
  • 1,429
  • 2
  • 15
  • 22

1 Answers1

0

Figured it out myself after a lot of searching, for those interested : SAXBuilder builder = new SAXBuilder();

    String eol = System.getProperty("line.separator");

    doc = (Document) builder.build(xmlFile);
    docfrans = (Document) builder.build(xmlFilefrans);





    root = doc.getRootElement();
    root.setName("productlist");
    List<Element> elementje = root.getChildren();

    rootfrans = docfrans.getRootElement();
    List<Element> elementjefrans = rootfrans.getChildren();

    for (int i = 0; i < elementjefrans.size(); i++) {
        for (int k = 0; k < elementje.size(); k++) {
            Element verwijderdelementfrans = elementjefrans.get(i);
            Element verwijderdelement = elementje.get(k);
//                for (int j = 0; j < lijstje.size(); j++) {
                if (verwijderdelementfrans.getChild("artikelnummer").getText().equals(verwijderdelement.getChild("code").getText())) {
                    System.out.println("test");
                    verwijderdelement.getChild("description").setText(verwijderdelement.getChild("description").getText() +"\n"+"\n"+ verwijderdelementfrans.getChild("omschrijving").getText());


                }
//                }
        }
    }
Boyen
  • 1,429
  • 2
  • 15
  • 22