使用 JDOM 读取和写入 XML 文件
2008-10-22 19:09
507 查看
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<sys-configure>
<jdbc-info>
<dirver-class-name>com.mysql.jdbc.Driver</dirver-class-name>
<url>jdbc:mysql://127.0.0.1:3306/mysql1</url>
<user-name>root</user-name>
<password>pengbo</password>
</jdbc-info>
<beans>
<bean id="com.gzbb.item.dao.ItemDao" class="com.gzbb.item.dao.ItemDaoImpl"/>
</beans>
</sys-configure>
-----------------------------------------------------
java文件
package com.gzbb.item.util;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
import com.gzbb.item.dao.ItemDao;
public class GobalConfigure {
private static GobalConfigure instance = new GobalConfigure();
private final static String CONFIG_FILE_NAME="gobal_configure.xml";
private Element rootElement;
private JdbcInfo jdbcInfo = new JdbcInfo();
private Map beanMap = new HashMap();
private GobalConfigure() {
SAXBuilder saxBuilder = new SAXBuilder();
try {
Document document = saxBuilder.build(Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE_NAME));
rootElement = document.getRootElement();
initJdbcInfo();
initBeans();
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
getInsatance();
// getInsatance().getBean("com.gzbb.item.dao.ItemDao");
getInsatance().getBean(ItemDao.class);
}
public JdbcInfo getJdbcInfo() {
return jdbcInfo;
}
public static GobalConfigure getInsatance() {
return instance;
}
public void initBeans()
{
try {
List elList = (List)XPath.selectNodes(rootElement, "//sys-configure/beans/bean");
for(Iterator it = elList.iterator();it.hasNext();)
{
Element el = (Element)it.next();
String id = el.getAttributeValue("id");
String name = el.getAttributeValue("class");
//实例化Dao
//实例化的类需要有公共构造函数
//Object obj = Class.forName(name).getMethods();
Object obj = Class.forName(name).newInstance();
beanMap.put(id, obj);
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private Object getBean(Class c)
{
return beanMap.get(c.getName());
}
private void initJdbcInfo()
{
try {
Element driverClassNameElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/dirver-class-name");
Element urlElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/url");
Element userNameElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/user-name");
Element passwordElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/password");
getJdbcInfo().setDriverName(driverClassNameElt.getText());
getJdbcInfo().setUrl(urlElt.getText());
getJdbcInfo().setUserName(userNameElt.getText());
getJdbcInfo().setPassword(passwordElt.getText());
System.out.println(getJdbcInfo().toString());
} catch (JDOMException e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------
写XML文件
package com.gzbb.item.util;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class XMLWriter {
public static void main(String[] agrs)
{
Element rootElt = new Element("selects");
Element elt1 = new Element("select");
Element elt2 = new Element("id");
elt2.addContent("1");
Element elt2_1 = new Element("name");
elt2_1.addContent("黑龙江");
elt1.addContent(elt2);
elt1.addContent(elt2_1);
rootElt.addContent(elt1);
Document dc = new Document(rootElt);
XMLOutputter xmlOutputter = new XMLOutputter();
xmlOutputter.setFormat(Format.getCompactFormat().setEncoding("gbk"));
System.out.println(xmlOutputter.outputString(dc));
try {
xmlOutputter.output(dc, new FileOutputStream("c:/text.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<sys-configure>
<jdbc-info>
<dirver-class-name>com.mysql.jdbc.Driver</dirver-class-name>
<url>jdbc:mysql://127.0.0.1:3306/mysql1</url>
<user-name>root</user-name>
<password>pengbo</password>
</jdbc-info>
<beans>
<bean id="com.gzbb.item.dao.ItemDao" class="com.gzbb.item.dao.ItemDaoImpl"/>
</beans>
</sys-configure>
-----------------------------------------------------
java文件
package com.gzbb.item.util;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
import com.gzbb.item.dao.ItemDao;
public class GobalConfigure {
private static GobalConfigure instance = new GobalConfigure();
private final static String CONFIG_FILE_NAME="gobal_configure.xml";
private Element rootElement;
private JdbcInfo jdbcInfo = new JdbcInfo();
private Map beanMap = new HashMap();
private GobalConfigure() {
SAXBuilder saxBuilder = new SAXBuilder();
try {
Document document = saxBuilder.build(Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE_NAME));
rootElement = document.getRootElement();
initJdbcInfo();
initBeans();
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
getInsatance();
// getInsatance().getBean("com.gzbb.item.dao.ItemDao");
getInsatance().getBean(ItemDao.class);
}
public JdbcInfo getJdbcInfo() {
return jdbcInfo;
}
public static GobalConfigure getInsatance() {
return instance;
}
public void initBeans()
{
try {
List elList = (List)XPath.selectNodes(rootElement, "//sys-configure/beans/bean");
for(Iterator it = elList.iterator();it.hasNext();)
{
Element el = (Element)it.next();
String id = el.getAttributeValue("id");
String name = el.getAttributeValue("class");
//实例化Dao
//实例化的类需要有公共构造函数
//Object obj = Class.forName(name).getMethods();
Object obj = Class.forName(name).newInstance();
beanMap.put(id, obj);
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private Object getBean(Class c)
{
return beanMap.get(c.getName());
}
private void initJdbcInfo()
{
try {
Element driverClassNameElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/dirver-class-name");
Element urlElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/url");
Element userNameElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/user-name");
Element passwordElt = (Element)XPath.selectSingleNode(rootElement, "//sys-configure/jdbc-info/password");
getJdbcInfo().setDriverName(driverClassNameElt.getText());
getJdbcInfo().setUrl(urlElt.getText());
getJdbcInfo().setUserName(userNameElt.getText());
getJdbcInfo().setPassword(passwordElt.getText());
System.out.println(getJdbcInfo().toString());
} catch (JDOMException e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------
写XML文件
package com.gzbb.item.util;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class XMLWriter {
public static void main(String[] agrs)
{
Element rootElt = new Element("selects");
Element elt1 = new Element("select");
Element elt2 = new Element("id");
elt2.addContent("1");
Element elt2_1 = new Element("name");
elt2_1.addContent("黑龙江");
elt1.addContent(elt2);
elt1.addContent(elt2_1);
rootElt.addContent(elt1);
Document dc = new Document(rootElt);
XMLOutputter xmlOutputter = new XMLOutputter();
xmlOutputter.setFormat(Format.getCompactFormat().setEncoding("gbk"));
System.out.println(xmlOutputter.outputString(dc));
try {
xmlOutputter.output(dc, new FileOutputStream("c:/text.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- 在Java中使用Jdom读取xml配置文件
- 使用JDOM来读取XML文件
- 使用dom4j和jdom读取xml文件
- 读取xml学习:使用jdom读取xml文件
- 使用Dom4j读取和写入xml文件
- 使用Jdom查询数据库后,把数据写入xml文件中
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告使用 Java 和 XML 技术读取 Excel 文件并写入新文件(1)
- 【XML配置文件读取】使用jdom读取XML配置文件信息
- 使用FileReader和FileWriter读取写入文件内容
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- ASP.NET中文件流的使用——下载Excle文件、文件的读取和写入
- 使用XlmWrite把一个xml文件写入输出流中。在(demo2.aspx运行时显示xml文档)
- Android下使用TinyXml读取xml配置文件(Cocos2d-x游戏开发)
- jdom读取xml文件
- 使用javascript中读取Xml文件做成的一个二级联动菜单
- 使用dom4j读取xml配置文件
- Java-流的简单使用:读取文件、写入文件(面试题:删除注释代码)
- 使用 JavaCSV api 读取和写入 csv 文件
- [libexpat]_[XML处理]_[C/C++使用libexpat库以数据流(SAX模型)的方式读取(解析)大XML文件]