解析 截取xml文件分割成n个文件
创始人
2025-05-29 08:03:53
public static void main(String[] args) {try {int batchSize = 1000; //每个文件包含的元素数量File inputFile = new File("D:\\Users\\yl.jiao.CN1\\Desktop\\费用中心\\CostCent_Headcount - 副本.xml"); //输入文件DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();Document doc = dBuilder.parse(inputFile);doc.getDocumentElement().normalize();NodeList nodeList = doc.getElementsByTagName("wd:Report_Entry"); //指定要分割的元素名称int totalElements = nodeList.getLength();int currentFileIndex = 1;for (int i = 0; i < totalElements; i += batchSize) {int endIndex = Math.min(i + batchSize, totalElements);String fileName = "output_" + currentFileIndex + ".xml"; //每个输出文件的名称FileWriter fileWriter = new FileWriter(fileName);fileWriter.write("\n");for (int j = i; j < endIndex; j++) {Element element = (Element) nodeList.item(j);fileWriter.write(getElementXML(element));}fileWriter.close();currentFileIndex++;break;}} catch (Exception e) {e.printStackTrace();}
}private static String getElementXML(Element element) {String xml = "";try {xml += "\n";xml += "" + element.getElementsByTagName("wd:WorkerID").item(0).getTextContent()+ "\n";xml += "" + element.getElementsByTagName("wd:Full_Name").item(0).getTextContent() + "\n";if (null != element.getElementsByTagName("wd:BUName") && null != element.getElementsByTagName("wd:BUName").item(0)){xml += "" + element.getElementsByTagName("wd:BUName").item(0).getTextContent() + "\n";}xml += "" + element.getElementsByTagName("wd:OrgName").item(0).getTextContent() + "\n";xml += "" + element.getElementsByTagName("wd:OrgName").item(0).getTextContent() + "\n";xml += "" + element.getElementsByTagName("wd:OrgID").item(0).getTextContent() + "\n";xml += "";xml += "" +element.getElementsByTagName("wd:Country").item(0).getChildNodes().item(1).getTextContent() + "";xml += "" + element.getElementsByTagName("wd:Country").item(0).getChildNodes().item(1).getTextContent() + ">";xml += "" + element.getElementsByTagName("wd:Country").item(0).getChildNodes().item(2).getTextContent() + ">";xml += "" + element.getElementsByTagName("wd:Country").item(0).getChildNodes().item(3).getTextContent() + ">";xml += "";xml += "" + element.getElementsByTagName("wd:CurrentCCCode").item(0).getTextContent() + "\n";xml += "" + element.getElementsByTagName("wd:CurrentCCName").item(0).getTextContent() + "\n";xml += "" + element.getElementsByTagName("wd:IsRehire").item(0).getTextContent() + "\n";xml += "" + element.getElementsByTagName("wd:HireDate").item(0).getTextContent() + "\n";if (null != element.getElementsByTagName("wd:CCChangeDate") && null != element.getElementsByTagName("wd:CCChangeDate").item(0)){xml += "" + element.getElementsByTagName("wd:CCChangeDate").item(0).getTextContent() + "\n";}if (null != element.getElementsByTagName("wd:ProposeCCCode") && null != element.getElementsByTagName("wd:ProposeCCCode").item(0)){xml += "" + element.getElementsByTagName("wd:ProposeCCCode").item(0).getTextContent() + "\n";}if (null != element.getElementsByTagName("wd:ProposeCCName") && null != element.getElementsByTagName("wd:ProposeCCName").item(0)){xml += "" + element.getElementsByTagName("wd:ProposeCCName").item(0).getTextContent() + "\n";}xml += "\n";} catch (Exception e) {e.printStackTrace();}return xml;
}

相关内容

热门资讯

朱翊解读:MIT战略执行框架F... 本文来自微信公众号: 朱翊 ,作者:朱翊,原文标题:《朱翊解读:MIT战略执行框架FAST——战略断...
土壤板结、缺素症暴增!2026... 2026年春耕监测数据显示,全国范围内农田土壤板结率同比上升18.7%,作物缺素症(如水稻缺锌、玉米...
我逐条对了一遍蓝鲸那条追觅独家... 本文来自微信公众号: 一周商业故事 ,作者:一周商事大家好,我是一周商业故事。跟大家说个事儿。6月1...
盈利保卫战打响!18家银行净息... 银行盈利韧性K型分化,正在浮现,存在于不同主体的净息差上,还存在不同省份辖内银行的净利润水平上。 券...
上半年,谁杀进了热门板块的前三... 上周,中指研究院、普睿数智(克而瑞)纷纷发布了今年上半年西安全市单盘销售额TOP20名单。 通过这份...