Det finns mängder med information om detta på nätet.
Googla lite på "java parse xml" och "java write to file" och återkom om du har problem.
Du lär troligtvis hitta tutorials hur man gör det steg för steg då detta är så pass vanligt.
Att läsa från en enskild fil var inga större problem att få till... Men hur göra för att läsa samtliga xml-filer från en katalog och skriva ut resultatet efter varandra?
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XMLReader {
public static void main(String argv[]) {
try {
File file = new File("c:\\testdata.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement().normalize();
System.out.println("Root element " + doc.getDocumentElement().getNodeName());
NodeList nodeLst = doc.getElementsByTagName("test");
System.out.println("Test");
for (int s = 0; s < nodeLst.getLength(); s++) {
Node fstNode = nodeLst.item(s);
if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
Element fstElmnt = (Element) fstNode;
NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("fält1");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
System.out.println("Fält 1 : " + ((Node) fstNm.item(0)).getNodeValue());
NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("fält2");
Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
NodeList lstNm = lstNmElmnt.getChildNodes();
System.out.println("Fält 2 : " + ((Node) lstNm.item(0)).getNodeValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
[QUOTE=Fk m;13497554]Att läsa från en enskild fil var inga större problem att få till... Men hur göra för att läsa samtliga xml-filer från en katalog och skriva ut resultatet efter varandra?[/QUOTE]
Refaktorera
Lös problemet för en enskild fil
Omvandla lösningen till en metod som tar en File och returnerar/skriver ut resultatet som du vill ha det