在java代码中创建xml文件
2013-01-20 01:39
309 查看
package com.huawei.demo; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class ParseXml { private static Document document; public static void init() { try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.newDocument(); } catch (ParserConfigurationException e) { System.out.println(e.getMessage()); } } public static void createXml(String fileName) { init(); Element root = document.createElement("configs"); //创建根节点 document.appendChild(root); /* 创建一个完成的节点,start */ Element item = document.createElement("item"); Attr name = document.createAttribute("name"); name.setValue("wifi_on"); item.setAttributeNode(name); item.appendChild(document.createTextNode("1")); root.appendChild(item); //item.appendChild(document.createTextNode("wangchenyang")); /* end */ Element item1 = document.createElement("item"); Attr name1 = document.createAttribute("name"); item1.setAttribute("name", "eth_on"); //增加属性的另一种方法 item1.appendChild(document.createTextNode("1")); root.appendChild(item1); //将DOM对象document写入到xml文件中 TransformerFactory tf = TransformerFactory.newInstance(); try { Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(document); transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(fileName)); StreamResult result = new StreamResult(pw); transformer.transform(source, result); //关键转换 System.out.println("生成XML文件成功!"); } catch (TransformerConfigurationException e) { System.out.println(e.getMessage()); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (TransformerException e) { System.out.println(e.getMessage()); } } public void parserXml(String fileName) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(fileName); NodeList employees = document.getChildNodes(); for (int i = 0; i < employees.getLength(); i++) { Node employee = employees.item(i); NodeList employeeInfo = employee.getChildNodes(); for (int j = 0; j < employeeInfo.getLength(); j++) { Node node = employeeInfo.item(j); NodeList employeeMeta = node.getChildNodes(); for (int k = 0; k < employeeMeta.getLength(); k++) { System.out.println(employeeMeta.item(k).getNodeName() + ":" + employeeMeta.item(k).getTextContent()); } } } System.out.println("解析完毕"); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (ParserConfigurationException e) { System.out.println(e.getMessage()); } catch (SAXException e) { System.out.println(e.getMessage()); } catch (IOException e) { System.out.println(e.getMessage()); } } }
相关文章推荐
- 在java代码中创建xml文件
- JAVA创建XML文件(二)---SAX方式创建XML
- JAVA中使用代码创建多数据源,并实现动态切换(一)
- java创建数据库连接池代码
- java使用xfire与spring创建webservice,详细描述示例代码
- java在Java代码中创建Excel表格并进行插入查看表格里面一个单元格的内容
- 创建文件夹和文件的java代码范例
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
- Android 在Java代码中设置style属性--使用代码创建ProgressBar对象
- Python3 -- 通过pandas实现快速创建java实体代码模板
- oracle中创建java包.执行JAVA代码的方法
- java怎么创建目录(删除/修改/复制目录及文件)代码实例
- Java创建RTF格式的WORD文件代码示例
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
- java文件创建读写代码
- Java对象创建阶段的代码调用顺序
- Android 在Java代码中设置style属性--使用代码创建ProgressBar对象
- Android color(颜色) 在XML文件和java代码中
- Java 利用dom方式读取、创建xml详解及实例代码
- Java多线程中线程的两种创建方式及比较代码示例