【问题标题】:JDom getting content from one xml to anotherJDom 将内容从一个 xml 获取到另一个
【发布时间】:2013-03-07 18:12:44
【问题描述】:

我有两个不同的 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());
            }
        }
    }

【问题讨论】:

    标签: java xml transfer jdom


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多