社区
Web 开发
帖子详情
救急 关于JDOM生成XML的问题
tdy1234
2007-09-10 09:14:38
小弟使用JDOM 生成一个XML 文件中间有一个标签如<BNIF seqno="1">这样,后面是一个属性 标识该字段在本文件中的编号 如seqno="1",seqno="2",seqno="3"这样,请各位大大指点这个属性用JDOM 的什么方法写入 完成就结帖
...全文
205
6
打赏
收藏
救急 关于JDOM生成XML的问题
小弟使用JDOM 生成一个XML 文件中间有一个标签如这样,后面是一个属性 标识该字段在本文件中的编号 如seqno="1",seqno="2",seqno="3"这样,请各位大大指点这个属性用JDOM 的什么方法写入 完成就结帖
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
友情支援
科技中介服务机构如何借助科创大脑提升企业服务能力?.docx
科技中介服务机构如何借助科创大脑提升企业服务能力?
【SOCP二阶锥规划】配电网重构+智能软开关SOP研究(Matlab代码实现)
内容概要:本文围绕基于二阶锥规划(SOCP)的配电网重构与智能软开关(SOP)协同优化展开研究,系统阐述了如何利用SOCP方法对主动配电网进行精确建模与优化求解,重点解决了含分布式电源接入背景下的网络损耗降低、电压越限抑制及新能源消纳能力提升等
问题
。研究通过引入SOP这一灵活的功率调控装置,实现对配电网潮流的动态调节,并结合Matlab代码实现了从数学建模、凸松弛处理、优化求解到仿真分析的全流程技术路线,具有较强的可复现性和工程应用价值。; 适合人群:具备电力系统分析基础、熟悉优化建模方法且拥有一定Matlab编程能力的研究生、科研人员及从事智能配电网规划与运行的工程技术人员。; 使用场景及目标:①用于主动配电网中计及SOP的重构模型构建与求解研究;②支撑高比例可再生能源接入场景下的配电系统优化运行与稳定性提升;③为相关学术论文的复现、算法改进与仿真验证提供完整的技术参考与代码支持。; 阅读建议:建议读者结合文中Matlab代码与主流优化工具箱(如YALMIP、CVX)同步实践,重点关注SOCP松弛的有效性、SOP建模方式及其在系统优化中的作用机制,深入理解配电网重构与柔性调控设备协同优化的设计思路与实现细节。
高校技术转移办公室人员如何借助产业大脑实现科研成果与产业需求的精准对接?.docx
高校技术转移办公室人员如何借助产业大脑实现科研成果与产业需求的精准对接?
科技中介服务机构如何利用科创数智大脑提升服务能力和客户粘性?.docx
科技中介服务机构如何利用科创数智大脑提升服务能力和客户粘性?
安全渗透测试知识笔记整理
安全渗透测试知识笔记整理
Web 开发
81,111
社区成员
341,723
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章