社区
Java EE
帖子详情
求java操作xml文件的例子代码
lona
2005-05-11 04:21:27
我想用xml文件当文件型数据库
听说数据量大的时候,xml文件速度挺快的 1
但是想知道java代码怎么样操作xml文件的
求代码
...全文
147
8
打赏
收藏
求java操作xml文件的例子代码
我想用xml文件当文件型数据库 听说数据量大的时候,xml文件速度挺快的 1 但是想知道java代码怎么样操作xml文件的 求代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
medusagjf
2005-05-16
打赏
举报
回复
不用那么复杂吧,去下载jdom包导入,里面提供读取的sample,而且才几行代码,效率超高
lona
2005-05-16
打赏
举报
回复
快看看,经典!
MARS.nEIL
2005-05-14
打赏
举报
回复
学习.帮顶.
jimever
2005-05-14
打赏
举报
回复
有用SAX读取的例子吗
liyx326
2005-05-13
打赏
举报
回复
学习!
zhzhl0
2005-05-13
打赏
举报
回复
/****************ReadWritePrintXML.java代码Begin******************************/
package test;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.XmlDocument;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
/**
* 读写printxml
*/
public class ReadWritePrintXML {
/**
* 读printxml
* @param path:the path of xml put in
* @return
* @throws Exception
*/
public ArrayList readXMLFile(String path) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
ArrayList list = new ArrayList();
String[] data = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
Document doc = null;
try {
doc = db.parse(path);
}
catch (DOMException dom) {
dom.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
Element root = doc.getDocumentElement();
NodeList fields = root.getElementsByTagName("Field");
for (int i = 0; i < fields.getLength(); i++) {
Element field = (Element) fields.item(i);
PrintSelectForm printSelectForm = new PrintSelectForm();
printSelectForm.setFieldName(field.getAttribute("fieldName"));
printSelectForm.setPrintName(field.getAttribute("printName"));
NodeList datas = field.getElementsByTagName("ifPrint");
if (datas.getLength() == 1) {
Element e = (Element) datas.item(0);
Text t = (Text) e.getFirstChild();
printSelectForm.setIfPrint(t.getNodeValue());
}
list.add(printSelectForm);
}
return list;
}
/**
* 写xml
* @param select:the selected id you set
* @param path:the path of xml put in
* @throws Exception
*/
public void writeXMLFile(String[] select, String path) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
Document doc = null;
try {
doc = db.parse(path);
}
catch (DOMException dom) {
dom.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
Element root = doc.getDocumentElement();
NodeList fields = root.getElementsByTagName("Field");
for (int j = 0; j < select.length; j++) {
for (int i = 0; i < fields.getLength(); i++) {
Element field = (Element) fields.item(i);
if (field.getAttribute("fieldName").equals(select[j])) {
NodeList ifPrints = field.getElementsByTagName("ifPrint");
if (ifPrints.getLength() == 1) {
Element e = (Element) ifPrints.item(0);
Text t = (Text) e.getFirstChild();
t.setNodeValue("1");
}
}
}
}
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
transformer.transform(source, result);
}
/**
* 初始化xml
* @param path:the path of xml
* @throws Exception
*/
public void initialXMLFile(String path) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
Document doc = null;
try {
doc = db.parse(path);
}
catch (DOMException dom) {
dom.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
Element root = doc.getDocumentElement();
NodeList fields = root.getElementsByTagName("Field");
for (int i = 0; i < fields.getLength(); i++) {
Element field = (Element) fields.item(i);
NodeList ifPrints = field.getElementsByTagName("ifPrint");
if (ifPrints.getLength() == 1) {
Element e = (Element) ifPrints.item(0);
Text t = (Text) e.getFirstChild();
t.setNodeValue("0");
}
}
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
transformer.transform(source, result);
}
}
/****************ReadWritePrintXML.java代码End********************************/
zhzhl0
2005-05-13
打赏
举报
回复
/**********************PrintForm.java Begin***************************************/
package test;
import org.apache.struts.action.*;
import javax.servlet.http.*;
/**
* 打印form
*/
public class PrintForm extends ActionForm {
/**字段名*/
private String fieldName="";
/**打印名*/
private String printName="";
/**是否打印*/
private int ifPrint=0;
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getFieldName() {
return fieldName;
}
public void setPrintName(String printName) {
this.printName = printName;
}
public String getPrintName() {
return printName;
}
public void setIfPrint(int ifPrint) {
this.ifPrint = ifPrint;
}
public int getIfPrint() {
return ifPrint;
}
public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
/**@todo: finish this method, this is just the skeleton.*/
return null;
}
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
}
}
/****************printForm.java代码end******************************/
zhzhl0
2005-05-13
打赏
举报
回复
1. 准备工作:去java.sun.com下载org.w3c.dom包,将下载的包放在WEB-INF/lib目录下。包的文档说明可以参考http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/package-summary.html。
2. 本案主要功能是完成table的表头显示字段的设置。
文件包括:
1) print.xml:将字段属性写入xml文件(放入web-inf目录下)
2) ReadWritePrintXML.java :print.xml的接口类:
3) PrintReadAction.java :print.xml的Action
4)PrintSetAction.java:写print.xml的Action
5) PrintForm:print选择的对象ActionForm
/****************print.xml代码begin******************************************/
<?xml version="1.0" encoding="UTF-8" ?>
<TBL_EMPLOYEE>
<Field fieldName="employeeId" printName="职工ID">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.deptName" printName="部门">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.employeeName" printName="职工姓名">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.sex" printName="性别">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.nation" printName="民族">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.birthDate" printName="出生日期">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.ages" printName="年龄">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.workYear" printName="工龄">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.idCard" printName="身份证号">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.workDate" printName="参加工作时间">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.politic" printName="政治面貌">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="employeeBasicInfo.parchment" printName="文化程度">
<ifPrint>1</ifPrint>
</Field>
<Field fieldName="nativePlace" printName="籍贯">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="registerPlace" printName="户口所在地">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="telephone" printName="联系电话">
<ifPrint>0</ifPrint>
</Field>
<Field fieldName="houseAddress" printName="家庭住址">
<ifPrint>0</ifPrint>
</Field>
</TBL_EMPLOYEE>
/**********************print.xml代码end***************************************/
根据XML生成
JAVA
类-freemarker
freemarker相关介绍 ...
例子
可读取单个
xml文件
,也可读取指定目录下的多个
xml文件
默认输出目录:D:\test_file\genrate_
java
可在工具类CommonUtil中修改 关于freemarker的更多介绍,可以查看相匹配的文章 ...
xml解析 dom方式
例子
和讲解
xml解析 dom方式
例子
和讲解
java
代码
内涵jar 自己引用配置
JAVA
上百实例源码以及开源项目
Java
二进制IO类与文件复制
操作
实例,好像是一本书的
例子
,源
代码
有的是独立运行的,与同目录下的其它
代码
文件互不联系,这些
代码
面向初级、中级
Java
程序员。
Java
访问权限控制源
代码
1个目标文件 摘要:
Java
源码,...
java
源码包---
java
源码 大量 实例
Java
二进制IO类与文件复制
操作
实例,好像是一本书的
例子
,源
代码
有的是独立运行的,与同目录下的其它
代码
文件互不联系,这些
代码
面向初级、中级
Java
程序员。
Java
访问权限控制源
代码
1个目标文件 摘要:
Java
源码,...
java
源码包2
Java
二进制IO类与文件复制
操作
实例,好像是一本书的
例子
,源
代码
有的是独立运行的,与同目录下的其它
代码
文件互不联系,这些
代码
面向初级、中级
Java
程序员。
Java
访问权限控制源
代码
1个目标文件 摘要:
Java
源码...
Java EE
67,512
社区成员
225,880
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章