0

我有两个不同的 XML,都包含相同的产品但使用另一种语言。问题是,我想将法语 XML 的描述添加到荷兰语的描述中,但是法语 XML 包含更多的产品。这是我尝试过的,但它不起作用,因为法语 XML 更大。(另外,我认为我犯了一个错误,因为产品也不在同一个位置,它们只是共享相同的产品代码(荷兰 XML 中的命名代码和法语 XML 中的 artikelnummer)。我应该在这里做什么?

    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());
            }
        }
    }
4

1 回答 1

0

对于那些感兴趣的人,经过大量搜索后自己弄清楚了: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());


                }
//                }
        }
    }
于 2013-03-07T22:50:25.057 回答