用jdom将数据库中的数据表转换为xml的纯java代码

如题了,希望大家帮帮忙,小弟新注册的没什么积分。。就是用纯java代码实现从oracle读取表并转换为xml文档输出,重点是怎么转换为xml~... 如题了,希望大家帮帮忙,小弟新注册的没什么积分。。
就是用纯java代码实现从oracle读取表并转换为xml文档输出,重点是怎么转换为xml~
展开
 我来答
bafenqian
2008-08-30
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
public class xmlpach {

public xmlpach(){

}
/**
*方法:生成根元素
*参数:1.根名
*/
public Document csope(String name){
Element my=new Element(name);
Document mm=new Document(my);
return mm;
}
/**
*方法:生成元素
*参数:1.元素名
*/
public Element csopeE(String name){
Element my=new Element(name);
return my;
}
/**
*方法:生成有内容元素
*参数:1.元素名 2.内容
*/
public Element csopeE(String name,String value){
Element my=new Element(name);
my.setText(value);
return my;
}
/**
*方法:根添加属性
*参数:1.根 2.属性名 3.属性内容
*/
public void addA(Document ss,String name,String value){
Attribute aa=new Attribute(name,value);
Element m=ss.getRootElement();
m.setAttribute(aa);
}
/**
*方法重写:元素添加属性
*参数:1.元素 2.属性名 3.属性内容
*/
public void addA(Element ee,String name,String value){
Attribute aa=new Attribute(name,value);
ee.setAttribute(aa);
}
/**
*方法:根添加子元素
*参数:1.根 2.子元素
*/
public void addE(Document fs,Element ze){
Element dd=fs.getRootElement();
dd.addContent(ze);
}
/**
*方法:元素添加子元素
*参数:1.父元素 2.子元素
*/
public void addE(Element fs,Element ze){
fs.addContent(ze);
}
/**
*方法:元素添加内容
*参数:1.元素 2.内容
*/
public void addV(Element ee,String ss){
ee.setText(ss);
}
/**
*方法:查询元素,返回List
* 参数:1.父元素名 2.子元素名 3.根
*/
public List selectE(String fname,String zname,Document s){
try{
XPath xp=XPath.newInstance("//"+fname+"["+zname+"]");
// Iterator迭代器
List lm=xp.selectNodes(s);
return lm;
}catch(Exception se){
System.out.println(se.toString());
return null;
}
}
/**
*方法重写:查询元素,返回List
* 参数:1.要查的节点名 2.条件子节点 3.子节点内容 4.根
*/
public List selectV(String fname,String nodename,String value,Document s){
try{
XPath xp=XPath.newInstance("//"+fname+"["+nodename+"='"+value+"']");
List ln=xp.selectNodes(s);
return ln;
}catch(Exception se){
System.out.println(se.toString());
return null;
}
}
/**
*方法重写: 删除元素,返回无
* 参数:1.节点名 2.节点内容 3.根
*/
public void delectE(String fname,String value,Document d){
try{
XPath xp=XPath.newInstance("//"+fname+"[.='"+value+"']");
List ln=xp.selectNodes(d);
if(ln.size()!=0){
for(int i=0;i<ln.size();i++){
Element s=(Element)ln.get(i);
//s.getChildren().remove(s);
s.getParentElement().removeChild(s.getName());
}
}
}catch(Exception se){
System.out.println(se.toString());
}
}
/**
*方法重写: 删除元素,返回无
* 参数:1.节点名 2.根
*/
public void delectE(String fname,Document s){
try{
Element ss=s.getRootElement();
XPath xp=XPath.newInstance("//"+ss.getName()+"["+fname+"]");
List r=xp.selectNodes(s);
if(r.size()!=0){
for(int i=0;i<r.size();i++){
Element so=(Element)r.get(i);
so.getChildren().remove(s);
}
}
}catch(Exception se){
System.out.println(se.toString());
}
}
/**
*方法重写: 修改元素,返回无
* 参数:1.节点名 2.原节点内容 3.想要修改后节点内容 4.根
*/
public void supert(String zname,String uname,String xname,Document ss){
try{
Element sa=ss.getRootElement();
XPath xp=XPath.newInstance("//"+sa.getName()+"["+zname+"='"+uname+"']");
List la=xp.selectNodes(ss);
if(la.size()!=0){
for(int i=0;i<la.size();i++){
Element see=(Element)la.get(i);
see.setText(xname);
}
}

}catch(Exception se){
System.out.println(se.toString());
}
}
以上是java中xml的全部(本人版权啊,抄袭打屁屁)
连数据库不会不会吧,依次从数据库提取字符串加入即可
WildBoarRider
2008-08-29 · TA获得超过172个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:0
展开全部
我用的mysql数据库,自己把配置改成orcale
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.jdom.Element;
import org.jdom.Document;
import org.jdom.output.XMLOutputter;
public class CreateXml {

/**
* @param args
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql:///myProject","root","");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from login");
try{
Element root = new Element("list");
Document Doc = new Document(root);
int i=0;
while(rs.next()) {

Element elements = new Element("login");

elements.setAttribute("id", "" + i);

elements.addContent(new Element("username").setText(rs.getString(1)));
elements.addContent(new Element("password").setText(rs.getString(2)));

root.addContent(elements);
i++;
}
XMLOutputter XMLOut = new XMLOutputter();
XMLOut.output(Doc, new FileOutputStream("c:/login.xml"));
}catch(Exception e){
e.printStackTrace();
}

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yajie1010
2008-08-29 · 超过29用户采纳过TA的回答
知道答主
回答量:142
采纳率:0%
帮助的人:101万
展开全部
搞什么啊,自己弄。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式