- 浏览: 117216 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hiskyrisa:
nnd,找了一天,终于找到一个好用的东西,顶起顶起,感谢楼主。 ...
Axis2 -eclipse -插件 -
ganky:
试过,不错~~
wrf播放器 -
yansirliu:
谢了 apache上面的链接都不能用了
Axis2 -eclipse -插件 -
xiaoqing20:
这个不错
可以安装
首先一个提示 确定就行了
然后下一步 完成 ...
wrf播放器 -
cuiguanglei:
写的不错哈哈
Hibernate Search, Lucene 与 JBoss Seam
import java.io.StringWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXml {
public static String Create() {
// 用工厂类创建一个document实例
Document doc = DocumentHelper.createDocument();
// 创建根元素emps
Element rootEle = doc.addElement("students");
// 添加注释
rootEle.addComment("这是一个dom4j生成的xml文件");
// emps根节点下创建一个emp节点
for (int i = 0; i < 10; i++) {
Element empEle = rootEle.addElement("student");
// emp添加属性id="1"
String id = (i + 1) % 2 == 0 ? Integer.toString(i + 1) : "";
empEle.addAttribute("id", id);
// emp节点下创建一个name节点
Element nameEle = empEle.addElement("name");
// name节点下创建一个文本节点
nameEle.setText("胡秀亮" + i);
String age = (i + 1) % 3 == 0 ? Integer.toString(i + 1) : "";
nameEle.addAttribute("age", age);
Element sexEle = empEle.addElement("sex");
sexEle.setText(i % 2 == 0 ? "男" : "女");
}
return doc.asXML();
// return XmlToString(doc,true);
/**将document中的内容写入文件中
try {
Writer out = new FileWriter("D:/MyTool/Work_Output/emps.xml");
// 格式化输出,类型IE浏览一样
OutputFormat format = OutputFormat.createPrettyPrint();
// OutputFormat format = OutputFormat.createCompactFormat();
format.setEncoding("UTF-8");
// 创建写出对象
XMLWriter writer = new XMLWriter(out, format);
writer.write(doc);
writer.close();
System.out.println("生成emps.xml成功。");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("失败了。");
}
**/
}
/**
* 如果发生中文乱码用此类转换
*
* @param Doc
* @param PrettyPrint
* @return
*/
public static String XmlToString(Document Doc, boolean PrettyPrint) {
String s = "";
StringWriter sw = null;
try {
OutputFormat fmt = null;
if (PrettyPrint) {
fmt = new OutputFormat(" ", true, "GBK");
fmt.setLineSeparator("\r\n");
} else {
fmt = OutputFormat.createCompactFormat();
fmt.setEncoding("GBK");
}
fmt.setNewLineAfterDeclaration(false);
fmt.setExpandEmptyElements(true);
sw = new StringWriter();
XMLWriter xw = new XMLWriter(sw, fmt);
xw.write(Doc);
sw.close();
s = sw.toString();
} catch (Exception ex) {
s = "";
ex.printStackTrace();
} finally {
try {
sw.close();
} catch (Exception ex1) {
}
}
return s;
}
}
///////////////////////////////////////
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 利用dom4j进行XML编程
*
*
*/
public class Dom4jReadExmple {
public static List iterateWholeXML(String url) {
List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(url);
Element root = document.getRootElement();
// 遍历根结点(students)的所有孩子节点(肯定是student节点)
for (Iterator iter = root.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next();
HashMap<String, String> hm = new HashMap<String, String>();
// 获取person节点的age属性的值
Attribute ageAttr = element.attribute("id");
if (ageAttr != null) {
String age = ageAttr.getValue();
if (age != null && !age.equals("")) {
hm.put(element.getName() + "_" + ageAttr.getName(), age);
} else {
hm.put(element.getName() + "_" + ageAttr.getName(), "20");
}
} else {
hm.put(element.getName() + "_id", "20");
}
// 遍历student结点的所有孩子节点(即name,college,telphone,notes),并进行处理
for (Iterator iterInner = element.elementIterator(); iterInner.hasNext();) {
Element elementInner = (Element) iterInner.next();
if (elementInner.getName().equals("name")) {
hm.put(elementInner.getName(), elementInner.getText());
// 获取college节点的leader属性的值
Attribute leaderAttr = elementInner.attribute("age");
if (leaderAttr != null) {
String leader = leaderAttr.getValue();
if (leader != null && !leader.equals("")) {
hm.put(elementInner.getName() + "_" + leaderAttr.getName(), leader);
} else {
hm.put(elementInner.getName() + "_" + leaderAttr.getName(), "age");
}
} else {
hm.put(elementInner.getName() + "_age", "age");
}
} else {
hm.put(elementInner.getName(), elementInner.getText());
}
}
list.add(hm);
}
} catch (DocumentException e) {
// TODO Auto_generated catch block
e.printStackTrace();
}
return list;
// return null;
}
}
///////////////////servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ViewXml extends HttpServlet {
/**
* Constructor of the object.
*/
public ViewXml() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); //
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(CreateXml.Create());
out.flush();
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
////////////////////////
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* 测试Dom4jReadExmple解析的情况
*
*
*/
public class TestDom4jReadExmple {
public static void main(String[] args) {
try {
// 获取解析完后的解析信息
List list = new ArrayList();
// 遍历整个XML文件
list = Dom4jReadExmple.iterateWholeXML("http://localhost:8080/XML/ViewXml");
System.out.println(list.size());
System.out.println("姓名\t学号\t年龄\t性别");
if (list!=null&&list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
HashMap map = (HashMap) list.get(i);
System.out.print(map.get("name") + "\t");
System.out.print(map.get("student_id") + "\t");
System.out.print(map.get("name_age") + "\t");
System.out.println(map.get("sex") + "\t");
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
/**
* 注意: dom4j1.6
* 解压后有一个dom4j-1.6.1.jar文件,这就是应用时需要引入的类包,另外还有一个jaxen-1.1-beta-6.jarr文件,一般也需要引入,否则执行时可能抛java.lang.NoClassDefFoundError:
* org/jaxen/JaxenException异常,其他的包可以选择用之。
*
*
*/
- jaxen-1.1-beta-4.jar (233.4 KB)
- 下载次数: 21
- dom4j-1.6.1.jar (306.5 KB)
- 下载次数: 24
发表评论
-
JBarcode 本地加载
2020-06-30 16:20 235<dependency> <gro ... -
Spring boot应用启动后首次访问很慢的问题
2020-05-02 16:50 587Java随机数生成依赖熵源(Entropy Source) ... -
Spring boot 定时任务 单线程解决方案
2020-05-02 16:49 481需要实现SchedulingConfigurer并重写set ... -
MX发送邮件
2010-03-26 15:40 1818邮件交换(MX,Mail Exchange)记录用于指出某个D ... -
Axis2 -eclipse -插件
2010-02-24 15:45 1306Axis2 -eclipse -插件 解压即可使用 -
urlrewriter
2010-02-04 11:20 871urlrewriter -
Hibernate Search, Lucene 与 JBoss Seam
2010-01-29 10:51 1544首先,我们需要将相关 ... -
支付文档(网银、快钱)
2009-09-29 10:07 1583支付文档(网银、快钱) -
通过在classpath自动扫描方式把组件纳入spring容器中管理
2009-06-07 21:09 1112spring2.5为我们引入了组件自动扫描机制,他可以在类路径 ... -
Hibernate annotation
2009-06-07 20:19 1067@Entity ... -
打jar包
2009-05-11 11:22 881Manifest-Version: 1.0Ant-Versio ... -
实现文件下载代码
2009-02-07 11:47 1904response.setContentType("a ... -
ANT环境变量设置
2009-02-07 11:46 2789ANT环境变量设置 Windows下ANT用到的环境变量主要 ... -
JAVA环境变量设置
2009-02-07 11:46 844以下设置WinXP及以上用户,右键点击我的电脑->属性- ... -
java正文分页
2009-02-07 11:45 917package com.commons.myfuction; ... -
java提取html正文的图片代码
2009-02-07 11:43 3781public static void main(String ... -
定时循环执行任务
2008-12-05 20:04 1286web.xml的配置 <servlet> ... -
List转换成String数组
2008-10-23 11:23 28703List转换成String数组 关键字: java Java ... -
web发信
2008-09-23 09:12 927package com.util; import java ... -
java的监听方法
2008-09-12 15:36 2404package dome1; import java.ut ...
相关推荐
Dom4j对xml的解析小结 个人总结的一些解析实现,可以作为参考
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
第20章 数据格式转换(struts 2.x+hibernate+dom4j) 20.1 关于xml文件基础知识 20.2 下载dom4j 20.3 数据格式转换功能前期准备 20.4 数据格式转换功能具体开发 20.5 多学两招——其他操作xml文件...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...
2.2.2 Dom4j 6 2.2.3 SOAP 6 2.2.4 WebService 7 2.2.5 WSDL 7 2.2.6 Velocity 8 2.2.7 Swing 8 2.2.8 Java反射 9 2.3 本章小结 9 第三章 服务开发平台的总体框架 10 3.1 前台可视化IDE的设计 11 3.2 后台的总体设计...
3.2 Dom4j 使用简介 3.3 Java 语言的 XML 验证 API 3.4 hibernate的hello word 3.5 JavaMail(JAVA邮件服务)API详解 3.6 jxl.jar 包简介 3.7 Java与XML联合编程之SAX篇 3.8 Java与XML联合编程之DOM篇 4 其他 4.1 ...
3.2 Dom4j 使用简介 120 3.3 Java 语言的 XML 验证 API 138 3.4 hibernate的hello word 143 3.5 JavaMail(JAVA邮件服务)API详解 145 3.6 jxl.jar 包简介 150 3.7 Java与XML联合编程之SAX篇 154 3.8 Java与XML联合...
4.3.1 Dom4j的使用 79 4.3.2 XStream的使用 80 4.3.3 解析请求消息 83 4.3.4 响应消息对象转XML 85 4.4 案例:消息的接收与响应 88 4.4.1 开发准备工作 88 4.4.2 消息封装类 88 4.4.3 封装...
1.7 小结········· 31 第2章 Ajax初体验···· 32 2.1 Ajax带来的优势········ 32 2.2 传统的JSP聊天室···· 34 2.2.1 实现业务逻辑组件··········· 35 2.2.2 实现控制器···· ...
(4)的方法会在指定的Dom对象上绑定响应ajax执行的事件。 (5)同步加载数据。发送请求时锁住浏览器。需要锁定用户交互操作时使用同步方式。 var html = $.ajax({ url: "some.php", async: false }).responseText;...
小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. ...