我有两种不同的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());
}
}
}
答案 0 :(得分: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());
}
// }
}
}