xml文档的生成与解析头文件字符集的设定
2015-11-18 15:00
399 查看
package com.company.item.desc;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.MalformedURLException;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/** * * @author hongliang.dinghl * Dom4j 生成XML文档与解析XML文档 */
public class Dom4j {
//方法测试
public static void main(String[] args) throws Exception {
Dom4j.createXml("create.xml");
try {
Dom4j.parserXml("create.xml");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 生成XML文档
public static void createXml(String fileName) throws Exception {
Document document = DocumentHelper.createDocument();
Element employees=document.addElement("employees");
Element des=employees.addElement("des");
Element desms= des.addElement("desms");
desms.setText("加密模式为des");
Element key=des.addElement("key");
key.setText("heooodes");
Element desInfo=des.addElement("desInfo");
desInfo.setText("加密内容为4545啊法师打发fdasdf5a4dsf54s5df");
// String ss = document.asXML();
try {
Writer fileWriter = new FileWriter("create.xml");
//xml头文件字符集设定,如果xml内容是什么字节编码则这里最好对应不然解析后内容会出现乱码
org.dom4j.io.OutputFormat format = new OutputFormat();
format.setEncoding("utf-8");
XMLWriter xmlWriter = new XMLWriter(fileWriter, format);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 解析xml文档
public static void parserXml(String fileName) throws MalformedURLException {
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();) {
Element employee = (Element) i.next();
for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) j.next();
System.out.println(node.getName() + ":" + node.getText());
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
/*********************************************************************************************以下String ss被转换为字节对应的数字来保存字,解析方法改为GBK不会出现乱码/
//生成TXT文件
private static void stf(String ss) throws Exception {
FileOutputStream fos = new FileOutputStream("des.txt");
FileOutputStream fxs = new FileOutputStream("dex.xml");
fos.write(ss.getBytes("GBK"));
fxs.write(ss.getBytes("GBK"));
fos.close();
fxs.close();
}
// 生成xml文档头文件编码格式为UTF-8
private static void xml(String ss) throws Exception {
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("DES");
// 添加属性名 DES
root.addAttribute("DES", "DES加密内容");
// 添加节点内容
root.setText(ss);
String xml = doc.asXML();
System.out.println(xml);
FileOutputStream fxs = new FileOutputStream("DES.xml");
fxs.write(xml.getBytes("utf-8"));
fxs.close();
}
// 字符串生成xml文档头文件编码格式为GBK
private static void createXml(String path, String ss) throws IOException {
// 创建一个dom文档对象
Document dom = DocumentHelper.createDocument();
// 为文档添加根节点 des
Element root = dom.addElement("des");
// 为根节点添加属性名称和属性值
root.addAttribute("des", "des加密内容");
// 为根节点添加内容
root.setText(ss);
// 得到一个xml格式的字符串
// String sxml = dom.asXML();
FileWriter fwr = new FileWriter(path);
OutputFormat format = new OutputFormat();
format.setEncoding("GBK");
XMLWriter xmlr = new XMLWriter(fwr, format);
xmlr.write(dom);
xmlr.close();
}
//解析xml文档
private static void parseXml(String path) throws Exception{
File file = new File(path);
SAXReader sr = new SAXReader();
Document dom = sr.read(file);
Element root =dom.getRootElement();
System.out.println("根节点为:"+root.getName()+"*****"+"根节点内容为:"+root.getText());
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.MalformedURLException;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/** * * @author hongliang.dinghl * Dom4j 生成XML文档与解析XML文档 */
public class Dom4j {
//方法测试
public static void main(String[] args) throws Exception {
Dom4j.createXml("create.xml");
try {
Dom4j.parserXml("create.xml");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 生成XML文档
public static void createXml(String fileName) throws Exception {
Document document = DocumentHelper.createDocument();
Element employees=document.addElement("employees");
Element des=employees.addElement("des");
Element desms= des.addElement("desms");
desms.setText("加密模式为des");
Element key=des.addElement("key");
key.setText("heooodes");
Element desInfo=des.addElement("desInfo");
desInfo.setText("加密内容为4545啊法师打发fdasdf5a4dsf54s5df");
// String ss = document.asXML();
try {
Writer fileWriter = new FileWriter("create.xml");
//xml头文件字符集设定,如果xml内容是什么字节编码则这里最好对应不然解析后内容会出现乱码
org.dom4j.io.OutputFormat format = new OutputFormat();
format.setEncoding("utf-8");
XMLWriter xmlWriter = new XMLWriter(fileWriter, format);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 解析xml文档
public static void parserXml(String fileName) throws MalformedURLException {
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();) {
Element employee = (Element) i.next();
for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) j.next();
System.out.println(node.getName() + ":" + node.getText());
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
/*********************************************************************************************以下String ss被转换为字节对应的数字来保存字,解析方法改为GBK不会出现乱码/
//生成TXT文件
private static void stf(String ss) throws Exception {
FileOutputStream fos = new FileOutputStream("des.txt");
FileOutputStream fxs = new FileOutputStream("dex.xml");
fos.write(ss.getBytes("GBK"));
fxs.write(ss.getBytes("GBK"));
fos.close();
fxs.close();
}
// 生成xml文档头文件编码格式为UTF-8
private static void xml(String ss) throws Exception {
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("DES");
// 添加属性名 DES
root.addAttribute("DES", "DES加密内容");
// 添加节点内容
root.setText(ss);
String xml = doc.asXML();
System.out.println(xml);
FileOutputStream fxs = new FileOutputStream("DES.xml");
fxs.write(xml.getBytes("utf-8"));
fxs.close();
}
// 字符串生成xml文档头文件编码格式为GBK
private static void createXml(String path, String ss) throws IOException {
// 创建一个dom文档对象
Document dom = DocumentHelper.createDocument();
// 为文档添加根节点 des
Element root = dom.addElement("des");
// 为根节点添加属性名称和属性值
root.addAttribute("des", "des加密内容");
// 为根节点添加内容
root.setText(ss);
// 得到一个xml格式的字符串
// String sxml = dom.asXML();
FileWriter fwr = new FileWriter(path);
OutputFormat format = new OutputFormat();
format.setEncoding("GBK");
XMLWriter xmlr = new XMLWriter(fwr, format);
xmlr.write(dom);
xmlr.close();
}
//解析xml文档
private static void parseXml(String path) throws Exception{
File file = new File(path);
SAXReader sr = new SAXReader();
Document dom = sr.read(file);
Element root =dom.getRootElement();
System.out.println("根节点为:"+root.getName()+"*****"+"根节点内容为:"+root.getText());
}
相关文章推荐
- XML 与 JSON 优劣对比
- As3.0 xml + Loader应用代码
- Mootools 1.2教程(2) DOM选择器
- DOM 事件流详解
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- ext读取两种结构的xml的代码
- Dom在ajax技术中的作用说明
- C#针对xml基本操作及保存配置文件应用实例
- Ruby程序中创建和解析XML文件的方法
- asp下查询xml的实现代码
- sqlserver FOR XML PATH 语句的应用
- 使用sp_xml_preparedocument处理XML文档的方法
- EBS xml publisher中文乱码问题及解决办法
- C#中的Linq to Xml详解
- C#生成Word文档代码示例
- C#操作XML文件实例汇总
- javascript针对DOM的应用分析(三)
- Dom 是什么的详细说明
- javascript针对DOM的应用分析(五)