查看完整版本: [-- 使用jdom读写xml文档的实例 --]

风信Java论坛 ›› Java 基础开发 ›› 使用jdom读写xml文档的实例 登录 -> 注册

1F 使用jdom读写xml文档的实例   jastby Post by : 2008-10-30 16:09:37.0

事先需要从这里下载:http://www.jdom.org/dist/binary/ jdom api,导入build目录的 jdom.jar

JdomRWXML.java 源码

   java代码
  1. import java.io.FileInputStream;  
  2. import java.io.FileOutputStream;  
  3. import java.io.IOException;  
  4. import java.util.List;  
  5.  
  6. import org.jdom.Document;  
  7. import org.jdom.Element;  
  8. import org.jdom.JDOMException;  
  9. import org.jdom.input.SAXBuilder;  
  10. import org.jdom.output.XMLOutputter;  
  11.  
  12. public class JdomRWXML {  
  13.     public void BuildXMLDoc() throws IOException, JDOMException {  
  14.         // 创建根节点 list;  
  15.         Element root = new Element("list");  
  16.         // 将根节点添加到文档中;  
  17.         Document Doc = new Document(root);  
  18.         // 此处 for 循环可替换成 遍历 数据库表的结果集操作;  
  19.         for (int i = 0; i < 5; i++) {  
  20.             // 创建新节点 company;  
  21.             Element elements = new Element("company");  
  22.             // 给 company 节点添加属性 id;  
  23.             elements.setAttribute("id""" + i);  
  24.             // 给 company 节点添加子节点并赋值  
  25.             elements  
  26.                     .addContent(new Element("company_name").setText("name" + i));  
  27.             elements.addContent(new Element("company_email").setText("name" + i  
  28.                     + "@163.com"));  
  29.             // 给父节点list添加company子节点;  
  30.             root.addContent(elements);  
  31.         }  
  32.         XMLOutputter XMLOut = new XMLOutputter();  
  33.         // 输出company_list.xml文件;  
  34.         XMLOut.output(Doc, new FileOutputStream("company_list.xml"));  
  35.     }  
  36.  
  37.     public void ReadXMLDoc() throws IOException, JDOMException {  
  38.         SAXBuilder sb = new SAXBuilder();// 建立构造器  
  39.         Document doc = sb.build(new FileInputStream("company_list.xml"));// 读入指定文件  
  40.         Element root = doc.getRootElement();// 获得根节点  
  41.         List<?> list = root.getChildren();// 将根节点下的所有子节点放入List中  
  42.         for (int i = 0; i < list.size(); i++) {  
  43.             System.out.println("---------------------------");  
  44.             Element item = (Element) list.get(i);// 取得节点实例  
  45.             String id = item.getAttribute("id").getValue();// 取得属性值  
  46.             System.out.println("id-->" + id);  
  47.  
  48.             Element sub1 = item.getChild("company_name");// 取得当前节点的字节点  
  49.             String company_name = sub1.getText();// 取得当前节点的值  
  50.             System.out.println("company_name-->" + company_name);  
  51.  
  52.             Element sub2 = item.getChild("company_email");  
  53.             String company_email = sub2.getText();  
  54.             System.out.println("company_email-->" + company_email);  
  55.         }  
  56.  
  57.     }  
  58.  
  59.     /**  
  60.      * @param args  
  61.      */ 
  62.     public static void main(String[] args) {  
  63.         // TODO Auto-generated method stub  
  64.         try {  
  65.             JdomRWXML jdomRWXML = new JdomRWXML();  
  66.  
  67.             System.out.println("--------BuildXMLDoc----------");  
  68.             jdomRWXML.BuildXMLDoc();  
  69.  
  70.             System.out.println("--------ReadXMLDoc----------");  
  71.             jdomRWXML.ReadXMLDoc();  
  72.  
  73.         } catch (Exception e) {  
  74.             e.printStackTrace();  
  75.         }  
  76.     }  
  77.  

 

2F Re:使用jdom读写xml文档的实例   jastby Post by : 2008-10-30 16:22:22.0

 

   java代码
  1. import java.io.FileInputStream;  
  2. import java.io.FileOutputStream;  
  3. import java.util.List;  
  4.  
  5. import org.jdom.Document;  
  6. import org.jdom.Element;  
  7. import org.jdom.input.SAXBuilder;  
  8. import org.jdom.output.XMLOutputter;  
  9.  
  10. public class XMLFile  
  11. {  
  12.     String id = "";  
  13.     String indent = ""// 缩进符号  
  14.     SAXBuilder sb = new SAXBuilder();//建立构造器  
  15.     boolean newLines = true// 是否产生新行  
  16.     XMLOutputter outp = new XMLOutputter ();   
  17.     public static void main(String[] args)  
  18.     {  
  19.  
  20.     }  
  21.  
  22.     public void removeContent(String fileName,int pos) //删除指定位置的 节点  序号从0开始  
  23.     {  
  24.         try 
  25.         {  
  26.             Document doc = sb.build(new FileInputStream(fileName));//读入指定文件  
  27.             Element MyElement = doc.getRootElement(); //获得根节点  
  28.             List<?> listTwo = MyElement.getChildren();//得到list,准备遍历所有节点     
  29.             listTwo.remove(pos); //删除  
  30.             outp.output(doc,new FileOutputStream(fileName)); // 输出到2.XML文件中  
  31.         }  
  32.         catch(Exception e)  
  33.         {  
  34.             e.printStackTrace();  
  35.         }  
  36.     }  
  37.     public void modifyContent(String fileName,int pos,String name,String content)// 修改XML内容  
  38.     {  
  39.         try 
  40.         {  
  41.             Document doc = sb.build(new FileInputStream(fileName));//读入指定文件  
  42.             Element root = doc.getRootElement();//获得根节点  
  43.             List<?> list = root.getChildren();//将根节点下的所有子节点放入List中  
  44.             Element item = (Element)list.get(pos); // 取得根节点下第一个子节点      
  45.             item.getChild(name).setText(content);  
  46.             outp.output(doc,new FileOutputStream(fileName)); // 输出到2.XML文件中  
  47.         }  
  48.         catch(Exception e)  
  49.         {  
  50.             e.printStackTrace();  
  51.         }  
  52.           
  53.     }  
  54.     public void listContent(String fileName) //读出,并列出XML内容  
  55.     {  
  56.         try 
  57.         {  
  58.             Document doc=sb.build(new FileInputStream(fileName));//读入指定文件  
  59.             Element root=doc.getRootElement();//获得根节点  
  60.             List<?> list=root.getChildren();//将根节点下的所有子节点放入List中  
  61.             for(int i=0;i<list.size();i++)  
  62.             {              
  63.                 Element item = (Element)list.get(i);//取得节点实例  
  64.                 String name = item.getAttribute("id").getValue();//取得属性值  
  65.                 System.out.println("id: "+name);  
  66.                 Element sub = item.getChild("title");//取得当前节点的字节点  
  67.                 String text = sub.getText();//取得当前节点的值  
  68.                 System.out.println("Title: "+text);  
  69.                 Element sub2 = item.getChild("content");  
  70.                 String text2 = sub2.getText();  
  71.                 System.out.println("Content: "+text2);  
  72.                 Element sub3 = item.getChild("time");  
  73.                 String text3 = sub3.getText();  
  74.                 System.out.println("Time: "+text3);  
  75.                 id = name;  
  76.             }  
  77.         }  
  78.         catch(Exception e)  
  79.         {  
  80.             e.printStackTrace();  
  81.         }  
  82.     }  
  83.     public void addContent(String fileName,String title,String content,String time) //向XML文件添加内容.  
  84.     {  
  85.         try 
  86.         {  
  87.             Document doc=sb.build(new FileInputStream(fileName));//读入指定文件  
  88.             Element root=doc.getRootElement();//获得根节点  
  89.             List<?> list=root.getChildren();//将根节点下的所有子节点放入List中  
  90.             Element article = new Element("message");  
  91.             article.setAttribute("id", (list.size()+2)+"");  
  92.             article.addContent(new Element("title").setText(title));  
  93.             article.addContent(new Element("content").setText(content));  
  94.             article.addContent(new Element("time").setText(time));  
  95.             doc.getRootElement().addContent(article);  
  96.             outp.output(doc, new FileOutputStream(fileName)); // 输出到2.XML文件中  
  97.         }  
  98.         catch(Exception e)  
  99.         {  
  100.             e.printStackTrace();  
  101.         }  
  102.     }  
  103.  

 

3F    唧唧 Post by : 2009-04-07 11:15:52.0
em24 good ~~

风信Java论坛 ›› Java 基础开发 ›› 使用jdom读写xml文档的实例 登录 -> 注册

查看完整版本: [-- 使用jdom读写xml文档的实例 --]
CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 10 ms,0 (Queries)  Gzip enabled
粤ICP备07511478号