- 浏览: 118941 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 305<dependency> <gro ... -
Spring boot应用启动后首次访问很慢的问题
2020-05-02 16:50 641Java随机数生成依赖熵源(Entropy Source) ... -
Spring boot 定时任务 单线程解决方案
2020-05-02 16:49 505需要实现SchedulingConfigurer并重写set ... -
MX发送邮件
2010-03-26 15:40 1842邮件交换(MX,Mail Exchange)记录用于指出某个D ... -
Axis2 -eclipse -插件
2010-02-24 15:45 1325Axis2 -eclipse -插件 解压即可使用 -
urlrewriter
2010-02-04 11:20 890urlrewriter -
Hibernate Search, Lucene 与 JBoss Seam
2010-01-29 10:51 1577首先,我们需要将相关 ... -
支付文档(网银、快钱)
2009-09-29 10:07 1618支付文档(网银、快钱) -
通过在classpath自动扫描方式把组件纳入spring容器中管理
2009-06-07 21:09 1141spring2.5为我们引入了组件自动扫描机制,他可以在类路径 ... -
Hibernate annotation
2009-06-07 20:19 1097@Entity ... -
打jar包
2009-05-11 11:22 914Manifest-Version: 1.0Ant-Versio ... -
实现文件下载代码
2009-02-07 11:47 1927response.setContentType("a ... -
ANT环境变量设置
2009-02-07 11:46 2819ANT环境变量设置 Windows下ANT用到的环境变量主要 ... -
JAVA环境变量设置
2009-02-07 11:46 867以下设置WinXP及以上用户,右键点击我的电脑->属性- ... -
java正文分页
2009-02-07 11:45 946package com.commons.myfuction; ... -
java提取html正文的图片代码
2009-02-07 11:43 3848public static void main(String ... -
定时循环执行任务
2008-12-05 20:04 1311web.xml的配置 <servlet> ... -
List转换成String数组
2008-10-23 11:23 28742List转换成String数组 关键字: java Java ... -
web发信
2008-09-23 09:12 957package com.util; import java ... -
java的监听方法
2008-09-12 15:36 2429package dome1; import java.ut ...
相关推荐
### 小结 DOM4J作为Java处理XML的强大工具,通过简洁的API实现了对XML的全面操作。了解并熟练掌握DOM4J,对于提升XML处理能力大有裨益。同时,`dom4j-1.6.1.jar`库文件则是实际开发中使用DOM4J的依赖包,包含了所有...
在这个小结中,我们将深入探讨 Dom4j 的核心功能,包括初始化、使用迭代器、XPath 导航以及快速遍历。 1. 初始化: 在 Dom4j 中,解析 XML 文档的第一步是创建一个 `SAXReader` 实例,然后用它来读取 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 后台的总体设计...
小结 XPath是一种强大的查询语言,广泛应用于XML文档数据的提取和处理。它提供了灵活的查询方式,能够快速、高效地从XML文档中提取所需的数据。在本文中,我们详细介绍了XPath的基础知识和应用场景,并提供了Java...
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 封装...
#### 五、小结 通过上述示例,我们了解了如何使用 Hibernate 注解来快速实现 Java 对象与数据库表之间的映射。这些注解大大简化了实体类的定义,同时也提供了足够的灵活性来处理复杂的业务需求。对于初学者而言,...
4. **API 和事件系统**: 提供了丰富的 API 接口和事件系统,使得开发者可以轻松地与选择器进行交互,实现自定义功能。 5. **模块化支持**: 支持使用现代构建工具如 webpack 进行模块化引入,同时也支持作为 jQuery ...
此外,了解如何操作文本框和文本区域的光标也是掌握JavaScript DOM操作的基础,这对于前端开发者来说至关重要。JavaScript提供了丰富的API来处理DOM元素,包括文本框和文本区域,允许我们实现各种复杂的用户界面效果...
- 使用 Dom4j 解析和生成 XML 文档。 **3.3 Java 语言的 XML 验证 API** - **XML验证** - 使用 Java API 验证 XML 文档的正确性。 **3.4 Hibernate的hello word** - **ORM框架** - 使用 Hibernate 进行对象...