社区
Web 开发
帖子详情
救急 关于JDOM生成XML的问题
tdy1234
2007-09-10 09:14:38
小弟使用JDOM 生成一个XML 文件中间有一个标签如<BNIF seqno="1">这样,后面是一个属性 标识该字段在本文件中的编号 如seqno="1",seqno="2",seqno="3"这样,请各位大大指点这个属性用JDOM 的什么方法写入 完成就结帖
...全文
177
6
打赏
收藏
救急 关于JDOM生成XML的问题
小弟使用JDOM 生成一个XML 文件中间有一个标签如这样,后面是一个属性 标识该字段在本文件中的编号 如seqno="1",seqno="2",seqno="3"这样,请各位大大指点这个属性用JDOM 的什么方法写入 完成就结帖
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Gerry-Zhang
2007-09-10
打赏
举报
回复
jdom 解析xml
yifengtpf
2007-09-10
打赏
举报
回复
楼上的这个JDOM解析XML文档 不能有个普遍作用
只能用于解析 只有2级目录的
如果有3级甚至更多就行不通了
建议使用递归
zjf405
2007-09-10
打赏
举报
回复
Element elem = new Element("BNIF");
elem.setAttribute(new Attribute("seqno", "1"));
ssrwf
2007-09-10
打赏
举报
回复
Jdom的用法:
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class StudentDAO {
String file;//xml文件的位置
FileOutputStream fo;
Document doc;
SAXBuilder builder = new SAXBuilder();
Format format; //用于设置xml文件的格式
private StudentDAO() {
}
//构造函数中设置file和format
public StudentDAO(String webroot) {
file = webroot + "/data/student.xml";
format = Format.getPrettyFormat();
format.setIndent(" ");
format.setEncoding("utf-8");
}
//向xml文件中添加一条记录
public boolean add(StudentInfo si) {
String id = si.getId();
boolean idAlreadyExisted = false;
boolean addResult = false;
Element root;
List allStudent;
try { doc = builder.build(file);
root = doc.getRootElement();
allStudent = root.getChildren();
//检查要添加的信息是否存在
for (int i = 0; i < allStudent.size(); i++) {
Element element = (Element) allStudent.get(i);
if (element.getChild("id").getText().equals(id)) {
idAlreadyExisted = true;
break;
}
}
//向xml文件中添加新的信息,并返回true
if (!idAlreadyExisted) {
Element student = new Element("student");
student.addContent(new Element("id").setText(si.getId()));
student.addContent(new Element("name").setText(si.getName()));
student.addContent(new Element("birthday").setText(si
.getBirthday()));
student.addContent(new Element("address").setText(si
.getAddress()));
allStudent.add(student);
XMLOutputter xout = new XMLOutputter(format);
fo = new FileOutputStream(file);
xout.output(doc, fo);
return true;
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
close();
}
return addResult;
}
//从xml文件中删除一条信息
public boolean del(String id) {
boolean delResult = false;
Element root;
List allStudent;
try {
doc = builder.build(file);
root = doc.getRootElement();
allStudent = root.getChildren();
for (int i = 0; i < allStudent.size(); i++) {
Element student = (Element) allStudent.get(i);
//如果id存在,则删除些条信息,并返回true
if (student.getChild("id").getText().equals(id)) {
allStudent.remove(i);
XMLOutputter xout = new XMLOutputter(format);
fo = new FileOutputStream(file);
xout.output(doc, fo);
return true;
}
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
close();
}
return delResult;
}
//按名字进行查询,返回所有名字以name开头的记录
public ArrayList query(String name) {
ArrayList list = new ArrayList();
Element root;
List allStudent;
try {
doc = builder.build(file);
root = doc.getRootElement();
allStudent = root.getChildren();
for (int i = 0; i < allStudent.size(); i++) {
Element student = (Element) allStudent.get(i);
if (student.getChild("name").getText().startsWith(name)) {
StudentInfo si = new StudentInfo();
si.setId(student.getChild("id").getText());
si.setName(student.getChild("name").getText());
si.setBirthday(student.getChild("birthday").getText());
si.setAddress(student.getChild("address").getText());
list.add(si);
}
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
void close() {
if (fo != null) {
try {
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
yifengtpf
2007-09-10
打赏
举报
回复
addAttribute("属性名","值") ;
lindazch
2007-09-10
打赏
举报
回复
友情支援
Java实现
Jdo
m
生成
xml
Java实现
Jdo
m
生成
解析
xml
,一般可以用到存储数据。比如我以前做过的ERP系统,权限初始化就用的解析
XML
,但是现在上传的只是
生成
XML
。如果哪位需要解析
XML
,留个言。。。。
jdo
m 读取
XML
文件
JDO
M是Java中一个用于处理
XML
文档的库,它提供了一种高效且方便的方式来创建、读取、修改
XML
文件。本篇文章将深入探讨如何使用
JDO
M来读取
XML
文件。 首先,我们需要了解
JDO
M的基本概念。
JDO
M通过构建一棵DOM...
使用
JDO
M解析
XML
文件
在Java编程中,
JDO
M(Java Document Object Model)是处理
XML
的一种库,它提供了方便的方式来创建、修改和读取
XML
文档。本篇文章将深入探讨如何使用
JDO
M解析
XML
文件。 首先,我们需要理解
JDO
M的基本结构。
JDO
M通过...
Jdo
m
生成
与解析
XML
3. **构建元素**: 使用`Element`类创建
XML
元素。元素具有属性和子元素,可以通过`setAttribute`和`addContent`方法添加。 4. **添加文本内容**: 使用`Text`类添加元素的文本内容。 5. **写入文件**: 最后,使用`...
java
jdo
m解析
xml
Java
JDO
M解析
XML
是Java开发中处理
XML
文档的一种方法,
JDO
M全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取
XML
文档。
JDO
M为
XML
处理提供了一种高效且方便的解决方案,尤其适用于...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章