2013-03-07 61 views
0

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

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

回答

0

想通了自己很多的搜索后,对于那些有兴趣: SAXBuilder的建设者=新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()); 


       } 
//    } 
     } 
    } 
相关问题