package com.test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Comment;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class Create {
public static void main(String[] args) {
//xml文档
Document document = new Document();
//DocType声明
DocType docType = new DocType("hibernate-configuration" , "-//Hibernate/Hibernate Configuration DTD 3.0//EN" , "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd");
//使用doc声明
document.setDocType(docType);
//根结点 hibernate-configuration
Element root = new Element("hibernate-configuration");
//设置document的根结点
document.setRootElement(root);
//节点 session-factory
Element sessionfactory = new Element("session-factory");
//将session-factory设置到root
root.addContent(sessionfactory);
//添加注释
sessionfactory.addContent(new Comment("Database connection settings"));
//添加driver-class
Element driverClass = new Element("property");
driverClass.setAttribute("name", "connection.driver_class");
driverClass.setText("com.mysql.jdbc.Driver");
sessionfactory.addContent(driverClass);
//添加url
Element url = new Element("property");
url.setAttribute("name", "connection.url");
url.setText("jdbc:mysql://localhost:3306/1ting");
sessionfactory.addContent(url);
//添加用户名
Element username = new Element("property");
username.setAttribute("name", "connection.username");
username.setText("root");
sessionfactory.addContent(username);
//添加密码
Element password = new Element("property");
password.setAttribute("name", "connection.username");
password.setText("root");
sessionfactory.addContent(password);
//添加注释
sessionfactory.addContent(new Comment("JDBC connection pool (use the built-in)"));
//添加pool
Element pool = new Element("property");
pool.setAttribute("name", "connection.pool_size");
pool.setText("1");
sessionfactory.addContent(pool);
//添加注释
sessionfactory.addContent(new Comment("SQL dialect"));
//添加方言
Element dialect = new Element("property");
dialect.setAttribute("name", "dialect");
dialect.setText("org.hibernate.dialect.MySQL5Dialect");
sessionfactory.addContent(dialect);
//添加注释
sessionfactory.addContent(new Comment("Echo all executed SQL to stdout"));
//添加showsql
Element showsql = new Element("property");
showsql.setAttribute("name", "show_sql");
showsql.setText("true");
sessionfactory.addContent(showsql);
//添加注释
sessionfactory.addContent(new Comment("Drop and re-create the database schema on startup"));
//添加hbm2ddl
Element hbm2ddl = new Element("property");
hbm2ddl.setAttribute("name", "hbm2ddl.auto");
hbm2ddl.setText("update");
sessionfactory.addContent(hbm2ddl);
//添加注释
sessionfactory.addContent(new Comment("mapping class"));
//添加mapping
Element mapping1 = new Element("mapping");
mapping1.setAttribute("class", "edu.hzu.entity.SingerType");
sessionfactory.addContent(mapping1);
Element mapping2 = new Element("mapping");
mapping2.setAttribute("class", "edu.hzu.entity.Singer");
sessionfactory.addContent(mapping2);
//生成xml
XMLOutputter outputter = new XMLOutputter();
//获得漂亮输出
Format format = Format.getPrettyFormat();
outputter.setFormat(format);
//生成xml文件
try {
outputter.output(document, new FileOutputStream("hibernate.cfg.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.test;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
public class Read {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
try {
System.out.println("Get all properties");
System.out.println("----------------------");
Document document = builder.build(new File("hibernate.cfg.xml"));
//首先获得所有的property节点的name和text
List<Element> properties = XPath.selectNodes(document, "/hibernate-configuration/session-factory/property");
for (Element property : properties) {
System.out.println(property.getAttributeValue("name") + " : " + property.getText());
}
System.out.println("----------------------");
System.out.println("Get all Mappings");
System.out.println("----------------------");
//再次获得所有mapping节点的class
List<Element> mappings = XPath.selectNodes(document, "/hibernate-configuration/session-factory/mapping");
for (Element mapping : mappings) {
System.out.println(mapping.getAttributeValue("class"));
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
在Java应用程序中,JDOM扮演着核心角色,允许开发者以面向对象的方式处理XML数据,极大地简化了XML的解析和生成过程。 JDOM-1.1是该库的一个版本,它包含了对XML标准的全面支持以及一些性能优化。`jdom-1.1.zip`是...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理库。...通过下载并导入jdom.zip中的jdom-1.0.jar,开发者可以轻松地集成XML处理功能到他们的Java应用程序中,从而实现各种XML相关的任务。
jdom-1.0.jar,jdom-1.0.jar,jdom-1.0.jar,jdom-1.0.jar,jdom-1.0.jar
通过导入这个jar包,开发者可以在他们的项目中直接使用JDOM的功能,如读取XML文件、创建新的XML结构、修改现有XML内容以及遍历XML树形结构。 随着技术的发展,JDOM随后发布了1.1版本,带来了性能优化和新功能。`...
基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...
1. **读取XML**:通过`org.jdom.input.SAXBuilder`,你可以从XML文件构建一个`org.jdom.Document`对象,该对象表示整个XML文档的根节点。例如: ```java SAXBuilder builder = new SAXBuilder(); Document doc = ...
JDOM是一个用于处理XML文档的Java API,它提供了创建、修改和读取XML文档的功能。SAXBuilder是JDOM中的一个关键类,用于将XML数据解析为JDOM对象模型。 首先,让我们深入了解`ClassNotFoundException`的背景。当...
在工作中发现jdom生成xml标签如<taxML xmlns:xsi="http://www.worg/2001/XMLSchema-instance" xsi:type="Fb1"cnName="附表1" name="Fb1"version="SW5001-2006"> 不能用冒号的问题root.setAttribute("xsi:type", "fb1...
使用Jdom.jar包解析XML文件,JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。JDOM直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合...
通过上述步骤,你就能使用JDOM有效地读取、解析和修改XML文件了。这个库提供了丰富的功能,能够满足大部分XML处理需求,同时它的API简洁直观,使得开发人员能快速上手。在实际应用中,结合JDOM与其他工具,如XPath...
提供的压缩包中包含了一个操作XML的源程序示例,这通常会展示如何使用JDOM API来完成XML的读取、修改和写入。例如: 1. **读取XML**:使用`SAXBuilder`类解析XML文件,将其转化为Document对象。 2. **查找元素**:...
在Java开发中,XML处理是常见的任务之一,而JDOM是一个流行的Java库,用于解析、构建和修改XML文档。XPath是一种强大的查询语言,用于在XML文档中定位元素、属性和其他节点。本文将深入探讨JDOM库中XPath的相关方法...
其中,jdom-1.0.jar是JDOM 1.0的主要实现,而jdom.jar可能是一个早期版本或者特定环境下的优化版本。在实际使用中,根据项目需求和兼容性考虑选择合适的版本。 尽管随着时间的推移,新的XML解析库如DOM4J、Woodstox...
此外,XML也常作为RESTful API的数据载体,JDOM可以帮助开发者轻松地解析和生成响应数据。 值得注意的是,虽然JDOM-1.0.jar提供了解析XML的强大功能,但它并不包含XML的压缩或解压缩功能。如果你需要处理压缩的XML...
标题中的"jdom-1.1.zip_jdom-1.0.jar包_jdom.z_jdom.zip_zip"提及了几个关键的文件和版本,这主要涉及Java的XML处理库——JDOM。JDOM是一个用于处理XML文档的纯Java库,它提供了方便的API来创建、修改和读取XML数据...
jdom-2.0.3.jar是java读取XML文件所需的jar包
本项目以"jdom_student.rar"为例,详细阐述如何使用Java和JDOM库生成XML文件,并通过XLS和HTML两种方式进行通讯录内容的展现。 首先,JDOM是一个Java API,用于处理XML文档,提供了读取、修改和创建XML文档的能力。...
JDOM 2.0.2是JDOM库的一个稳定版本,提供了一套完整的API,使得Java程序员可以方便地创建、修改和读取XML文档。该版本包含了以下几个关键组件: 1. **jdom-2.0.2-javadoc.jar**:这个文件包含了JDOM 2.0.2的API文档...
JDOM 1.1.3是一个Java实现的DOM(Document Object Model)解析器,它专注于提供纯Java解决方案,以实现XML文档的读取、修改和生成。相比其他解析器,如DOM4J或XOM,JDOM更注重性能和内存效率,同时保持了API的简洁性...