Java 生成和解析xml文件
来源:互联网 发布:php 短信验证码 编辑:程序博客网 时间:2024/06/07 19:16
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.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;/** * *DOM生成与解析XML文档 */public class DomDemo implements XmlDocument {private Document document;private String fileName;public void init() {try {DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();this.document = builder.newDocument();} catch (ParserConfigurationException e) {System.out.println(e.getMessage());}}public void createXml(String fileName) {Element root = this.document.createElement("employees");this.document.appendChild(root);Element employee = this.document.createElement("employee");Element name = this.document.createElement("name");name.appendChild(this.document.createTextNode("丁宏亮"));employee.appendChild(name);Element sex = this.document.createElement("sex");sex.appendChild(this.document.createTextNode("m"));employee.appendChild(sex);Element age = this.document.createElement("age");age.appendChild(this.document.createTextNode("30"));employee.appendChild(age);root.appendChild(employee);TransformerFactory tf = TransformerFactory.newInstance();try {Transformer transformer = tf.newTransformer();DOMSource source = new DOMSource(document);transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");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());}}public static void main(String[] args) {String path = "D:/text.xml";DomDemo dom = new DomDemo();dom.init();//dom.createXml(path);dom.parserXml("D:/realTimeDevice.xml");//dom.parserXml("D:/coalDatabase.xml");}}
0 0
- Java 生成和解析xml文件
- java解析/生成xml文件
- XML文件生成和解析
- Java解析XML与生成XML文件
- java 生成和解析xml
- Java解析和生成XML
- java解析和生成xml文件的补充
- Pull解析器解析XML文件和生成XML文件
- Java之Pull方式生成xml文件和解析xml文件
- java 生成 解析XML 文件 Dom4J
- dom4j生成和解析xml文件
- Android 解析和生成XML文件
- Android_xml_pull解析和生成xml文件
- dom4j生成和解析xml文件
- 使用XStream解析和生成xml文件
- XML文件的解析和生成(DOM)
- XML文件的生成和解析
- dom解析和生成XML文件
- 堆栈,堆栈,堆和栈的区别
- Linux内核之vmlinux与vmlinuz
- Mschar winform下 简易实现选择范围内图像放大
- Apache tomcat乱码问题排查
- 解决:EasyUI Dialog关闭后,验证提示信息仍显示在页面最上端
- Java 生成和解析xml文件
- SQL server 种种
- [Python]BeautifulSoup—HTML解析包
- C语言实现通用链表初步(四)----双向链表
- Ubuntu下使用VI编辑文件必知的常用命令
- Android AVD emulator模拟器获取root权限(4.1.2以下)
- NSInvocation的使用
- ibatis 种种
- MyEclipse快捷键大全