解析 截取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;
}

相关内容

热门资讯

这种防癌方式不仅有效,性价比也...   关注健康 预防癌症  癌症防治,关键在预防,核心在早筛。坚持关口前移是最经济有效的防癌策略。围绕...
视频丨从主题研学到互动体验 各...   明天(4月15日)是第十一个全民国家安全教育日。从剧场舞台到红色旧址,从主题研学到互动体验,连日...
开局之年看中国·开放自贸港:老...   中新网海口4月14日电 题:开局之年看中国·开放自贸港:老爸茶“圈粉”世界 外籍主播赞“吼加” ...
特克斯春日“葱”忙曲 奏响乡村...   央广网乌鲁木齐4月14日消息(记者姜茸)“一年之计在于春”,当和煦的春风轻拂大地,新疆特克斯县这...
春日农事新图景 创新融合促振兴   春茶上新季:多元创新绘就茶乡发展新画卷  春风送暖,茶树吐新,湖北阳新县白沙镇的万亩茶山一片新绿...