dom4j处理xml文件,读取xml字符串,格式化xml文件
来源:互联网 发布:linux ubuntu jar命令 编辑:程序博客网 时间:2024/05/17 06:24
1.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<employees><employee>
<name>steve</name>
<sex>m</sex>
<age>30</age>
</employee>
</employees>
2.java interface
/**
* @author huangjing
* @date 2014-2-13
* 定义XML文档建立与解析的接口
*/
public interface XmlDocument {
/** * 建立XML文档 * @param fileName 文件全路径名称 */
public void createXml(String fileName);
/** * 解析XML文档 * @param fileName 文件全路径名称 */
public void parserXml(String fileName);
/***
* 解析短信发送返回的xml信息,封装成map.
* @param sms
* @return
*/
public Map parserSmsXml(String sms);
}
3.java implements
/**
* @author huangjing
* @date 2014-2-13
*/
public class Dom4j implements XmlDocument {
@Override
public void createXml(String fileName) {
Document document = DocumentHelper.createDocument();
Element employees = document.addElement("employees");
Element employee = employees.addElement("employee");
Element name = employee.addElement("name");
name.setText("dddvip");
Element sex = employee.addElement("sex");
sex.setText("f");
Element age = employee.addElement("age");
age.setText("29");
try {
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
Writer fileWriter = new FileWriter(fileName);
XMLWriter xmlWriter = new XMLWriter(fileWriter,format);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
@Override
public void parserXml(String fileName) {
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) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}
@Override
public Map parserSmsXml(String sms) {
Map map = new HashMap();
// SAXReader saxReader = new SAXReader();
try {
Document document = DocumentHelper.parseText(sms);
Element returnsms = document.getRootElement();
for (Iterator i = returnsms.elementIterator(); i.hasNext();) {
// Element employee = (Element) i.next();
// for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) i.next();
// System.out.println(node.getName() + ":" + node.getText());
map.put(node.getName(), node.getText());
// }
}
} catch (DocumentException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
return map;
}
}
4.测试parserSmsXml方法
@Test
public void testParserSmsXml(){
String sms = "<?xml version='1.0' encoding='utf-8' ?><returnsms>"+
"<returnstatus>Success</returnstatus>"+
"<message>ok</message>"+
"<remainpoint>76904</remainpoint>"+
"<taskID>5002192</taskID>"+
"<successCounts>1</successCounts></returnsms>";
XmlDocument d = new Dom4j();
Map map = d.parserSmsXml(sms);
System.out.println(map);
}
- dom4j处理xml文件,读取xml字符串,格式化xml文件
- dom4j格式化XML文件
- dom4j格式化XML文件
- dom4j格式化XML文件
- dom4j格式化xml文件
- xml文件读取-dom4j
- dom4j读取xml文件
- dom4j读取xml文件
- dom4j读取xml文件
- Dom4j读取XML文件
- Dom4j读取xml文件
- DOM4J读取XML文件
- DOM4J读取XML文件
- Dom4j读取Xml文件
- dom4j读取xml文件
- Dom4j读取xml文件
- dom4j读取xml字符串和读取xml文件
- dom4j读取xml文件例子
- Xcode清理记录
- [机器学习] Coursera笔记 - Support Vector Machines
- 构建高并发高可用的电商平台架构实践
- 对StringGrid输入一个数后对其他表格填充的代码
- rsync同步文件
- dom4j处理xml文件,读取xml字符串,格式化xml文件
- SOA、SOAP、RPC、REST、DUBBO的区别与联系
- Error:Execution failed for task ':app:mergeDebugResources'. > Error: java.util.concurrent.ExecutionE
- java File中File.exists() 与 File.isFile()区别?
- 使用sessionstorage解决微信网页返回保留原状态的问题
- 排序算法——插入排序
- JVM研究之观测工具jstat详解
- TextVeiw 的自定义View
- java web的介绍