Java解析XML文件

来源:互联网 发布:淘宝考试不在延迟发货 编辑:程序博客网 时间:2024/06/05 16:35
XML文件: 4.0.0 com.elong.hotel.dc dc_core 0.0.1-SNAPSHOT jar dc_core http://maven.apache.org UTF-8 junit junit 3.8.1 test 源代码:package com.elong.hotel.dc.dc_core;import java.io.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class XMLReaderTest {public static void main(String args[]) {Element element = null;File f = new File("/Users/user/links.xml");DocumentBuilder db = null;DocumentBuilderFactory dbf = null;try {dbf = DocumentBuilderFactory.newInstance();db = dbf.newDocumentBuilder();Document dt = db.parse(f);// 得到一个elment根元素element = dt.getDocumentElement();// 获得根节点System.out.println("根元素:" + element.getNodeName());// 获得根元素下的子节点NodeList childNodes = element.getChildNodes();// 遍历这些子节点for (int i = 0; i < childNodes.getLength(); i++) {// 获得每个对应位置i的结点Node node = childNodes.item(i);// 获得下的节点if ("groupId".equals(node.getNodeName())) // 输出groupIdSystem.out.println("groupId" + node.getTextContent());else if ("artifactId".equals(node.getNodeName())) // 输出artifactIdSystem.out.println("artifactId: " + node.getTextContent());else if ("name".equals(node.getNodeName())) // 输出nameSystem.out.println("模块: " + node.getTextContent());else if ("version".equals(node.getNodeName())) {// 输出versionSystem.out.println("当前版本号:: " + node.getTextContent());String version = node.getTextContent();String[] versionArray = version.split("\\.");for (int j = 0; j < versionArray.length; j++) {// System.out.println(versionArray[j]);}String[] versionArray1 = versionArray[2].split("-");// System.out.println(versionArray1[0]);int aa = Integer.parseInt(versionArray1[0]);// aa=aa+1;// System.out.println(aa);String s = String.valueOf(aa + 1);String version1 = s + "-" + versionArray1[1];// System.out.println(version1);String version2 = versionArray[0] + "." + versionArray[1] + "." + version1;// System.out.println(version2);node.setTextContent(version2);System.out.println("版本号加1: " + node.getTextContent()); //写入xml文本TransformerFactory tFactory = TransformerFactory.newInstance();Transformer transformer = tFactory.newTransformer();DOMSource source = new DOMSource(element);StreamResult result = new StreamResult(new java.io.File("/Users/user/links.xml"));transformer.transform(source, result);}}}catch (Exception e) {e.printStackTrace();}}}
0 0