package jp.satomichan.nucalgen.addition; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParserFactory; import org.apache.commons.digester.Digester; import org.xml.sax.SAXException; public class AdditionUtil { public static void main(String[] args) { AdditionConfig add = additionFileReader(new File("C:\\Users\\h520s\\Desktop\\pfc-balance.xml")); } public static AdditionConfig additionFileReader(File reportXmlFile){ SAXParserFactory factory = SAXParserFactory.newInstance(); javax.xml.parsers.SAXParser parser = null; AdditionConfig addition = null; try { parser = factory.newSAXParser(); Digester digester = new Digester(parser); digester.addObjectCreate("addition", AdditionConfig.class); digester.addObjectCreate("addition/row", AcRow.class); digester.addSetNext("addition/row", "addRow"); digester.addSetProperties("addition/row"); digester.addObjectCreate("addition/row/cell", AcCell.class); digester.addSetNext("addition/row/cell", "addCell"); digester.addBeanPropertySetter("addition/row/cell/type"); digester.addBeanPropertySetter("addition/row/cell/value"); digester.addBeanPropertySetter("addition/row/cell/alias"); //パースする InputStream in; in = new FileInputStream(reportXmlFile); addition = (AdditionConfig)digester.parse(in); } catch (IOException | SAXException | ParserConfigurationException e) { throw new RuntimeException(e); } return addition; } }