新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → jdom samples (1) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 7839 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: jdom samples (1) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     jlive 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:85
      注册:2004/2/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jlive发送一个短消息 把jlive加入好友 查看jlive的个人资料 搜索jlive在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jlive的博客楼主
    发贴心情 jdom samples (1)

    下面是我在去年研究并实践的xml样例,与兄弟一起分享
    由数据库生成xml文件:
    package com.sz.xml;

    import com.sz.lgyw.util.DataSourceConn;
    import java.sql.*;

    import org.jdom.output.XMLOutputter;
    import org.jdom.Document;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.FileWriter;
    import com.sz.xml.log.Log;


    public class DatabaseToXml {
      // rs --> dom --> xml

      public static void generateXmlFromDatabase(ResultSet rs) {
        Document doc = GenerateXmlDom.GenerateDomFromDatabase(rs);
         XMLOutputter outputter = new XMLOutputter("  ", true);
        try {

          PrintWriter file = new PrintWriter(new FileWriter("testXml.xml", false), true);
          //outputter.output(doc, System.out);
          outputter.output(doc, file);
        }
        catch (IOException io) {
          Log.log("Err: ", io.getMessage());
          io.printStackTrace();
        }
      }

      public static void main(String args[]){
        String sql = "select * from t_user";
        ResultSet rs = null;
        DataSourceConn ds = new DataSourceConn();
        rs = ds.executeQuery(sql);
        DatabaseToXml.generateXmlFromDatabase(rs);
      }
    }
    存取xml里的数据到数据库里:
    package com.sz.xml;

    import java.text.DateFormat;
    import java.util.*;
    import org.jdom.*;
    import org.jdom.input.SAXBuilder;
    import org.jdom.output.XMLOutputter;
    import com.sz.lgyw.util.DataSourceConn;

    public class SaveXmlDataToDb {
        public static Document doc = null;
        public static Element rootElement = null;
        public static XMLOutputter outputter = null;


        public static List GetValues(String fileName,String nodeTag,int row)
        {
            initXML(fileName);
            List  list = xml_get(nodeTag,row);
            return list;
        }

        public static void initXML(String fileName)
        {
            try
            {
                doc = xmlreadDocument(fileName);
                rootElement = doc.getRootElement();
                outputter = new XMLOutputter();
                outputter.setEncoding("GB2312");
            }
            catch(JDOMException jdomexception)
            {
                jdomexception.printStackTrace();
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
        }


        public static Element xmlfindElement(Element element, String nodeTag)
        {
            Iterator iterator = element.getChildren().iterator();
            if(element.getName().equals(nodeTag))
                return element;
            while(iterator.hasNext())
            {
                Element element1 = (Element)iterator.next();
                Element element2 = xmlfindElement(element1, nodeTag);
                if(element2 != null)
                    return element2;
            }
            return null;
        }


        public static Document xmlreadDocument(String fileName)
            throws Exception, JDOMException
        {
            SAXBuilder saxbuilder = new SAXBuilder(false);
            Document document = saxbuilder.build(fileName);
            return document;
        }


        public static void main(String args[])
            throws Exception
        {
                    List list=GetValues("catalog.xml","composition",5);
                    ArrayList list2 = null;
                    for (int i = 0; i < list.size(); i++)
                    {
                      list2 = (ArrayList) list.get(i);
                      StringBuffer strBuf = new StringBuffer();
                      for(int ii=0 ;ii<list2.size();ii++){
                        strBuf.append(list2.get(ii).toString());
                        strBuf.append(" *** ");
                      }
                      System.out.println(strBuf.toString());
                      System.out.println(" ------------------ ");
                    }
        }

        public static List xml_get(String nodeTag,int row)
        {
                List h =  xmlgetData(rootElement,nodeTag,row);
            return h;
        }

        public static List xmlgetData(Element element, String nodeTag,int row)
        {
                ArrayList list = null;
                int i=0,j=0;

            Element element1 = xmlfindElement(element, nodeTag);
            System.out.println("<"+nodeTag+">");
            if (element1==null) {
                return null;
            } else {
                    if (element1.hasChildren()) {
                        i=element1.getParent().getChildren(nodeTag).size();
                        j=element1.getChildren().size();
                        list = new ArrayList(i);


                        for (int ii=0;ii<i;ii++) {
                                element1=(Element) element1.getParent().getChildren(nodeTag).get(ii);
                                ArrayList  list2 = new ArrayList(j+1);
                            for (int jj=0;jj<j;jj++) {
                                 list2.add(((Element) element1.getChildren().get(jj)).getText());
                            }
                            list2.add(element1.getAttribute("composer").getValue());
                            list.add(list2);

                        }
                    } else {
                      return null;
                    }
            }
            return list;
        }
    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/4/7 14:53:00
     
     struggle 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:9
      积分:93
      门派:XML.ORG.CN
      注册:2004/5/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给struggle发送一个短消息 把struggle加入好友 查看struggle的个人资料 搜索struggle在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看struggle的博客2
    发贴心情 
    谢谢楼主!!!
    这么好的例子居然每人顶,我狂顶!!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/6/15 8:45:00
     
     oO泡泡Oo 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:2
      积分:64
      门派:XML.ORG.CN
      注册:2004/8/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给oO泡泡Oo发送一个短消息 把oO泡泡Oo加入好友 查看oO泡泡Oo的个人资料 搜索oO泡泡Oo在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看oO泡泡Oo的博客3
    发贴心情 
    up up up up
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/8/5 23:12:00
     
     笨鸟先飞168 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:8
      积分:95
      门派:XML.ORG.CN
      注册:2005/3/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给笨鸟先飞168发送一个短消息 把笨鸟先飞168加入好友 查看笨鸟先飞168的个人资料 搜索笨鸟先飞168在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看笨鸟先飞168的博客4
    发贴心情 
    请问大虾有没有c++版本呢?笨笨的问一下这段程序可以作为xml文件和数据库的接口吧?谢谢帮助
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/8 17:08:00
     
     cooljam 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:57
      门派:XML.ORG.CN
      注册:2005/3/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给cooljam发送一个短消息 把cooljam加入好友 查看cooljam的个人资料 搜索cooljam在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看cooljam的博客5
    发贴心情 
    upupupupup
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/18 15:55:00
     
     flyfoxs 帅哥哟,离线,有人找我吗?
      
      
      威望:5
      等级:研一(Artificial Intelligence期期不放过)
      文章:550
      积分:3935
      门派:XML.ORG.CN
      注册:2005/1/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给flyfoxs发送一个短消息 把flyfoxs加入好友 查看flyfoxs的个人资料 搜索flyfoxs在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看flyfoxs的博客6
    发贴心情 
    代码不太全,有很多里面用到的类,没有提供出来。

    比如com.sz.xml.log.Log;
    com.sz.lgyw.util.DataSourceConn

    ----------------------------------------------
    存在即是被搜索!

    BLOG =>  http://www.OpenJ.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/16 9:24:00
     
     affanasieff 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:108
      门派:XML.ORG.CN
      注册:2006/2/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给affanasieff发送一个短消息 把affanasieff加入好友 查看affanasieff的个人资料 搜索affanasieff在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看affanasieff的博客7
    发贴心情 
    up
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/11 1:40:00
     
     nnmk 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:8
      积分:87
      门派:XML.ORG.CN
      注册:2006/1/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给nnmk发送一个短消息 把nnmk加入好友 查看nnmk的个人资料 搜索nnmk在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看nnmk的博客8
    发贴心情 
    谢谢了
    我也要用到dom解析 学习了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/15 16:03:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/21 0:26:27

    本主题贴数8,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    4,666.016ms