JDOM入门实例:读取与创建xml文档
来源:互联网 发布:android实现java线程池 编辑:程序博客网 时间:2024/04/25 15:54
jdom.jar 下载地址 http://download.csdn.net/detail/maxuyang1987/4398947
1.入门实例一:xml文件的读取与修改
xml文件:library.xml
<?xml version="1.0" encoding="UTF-8"?><books> <book email="abc@163.com"> <name>jdom</name> <price>60.0</price> </book></books>
代码实例:JDomParse.java
package books.test;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;//下面是引用到JDOM中的类import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;import org.jdom.output.XMLOutputter;public class JDomParse { public JDomParse() { //定义xml文件路径 String xmlpath = "d:\\library.xml"; SAXBuilder builder = new SAXBuilder(false); try { Document doc = builder.build(xmlpath); // 得到根元素 Element books = doc.getRootElement(); // 得到“books”元素的所在名称为“book”的元素,并把这些元素都放到一个List集合中 List booklist = books.getChildren("book"); /** * 轮循List集合,方法1: */ for (Iterator iter = booklist.iterator(); iter.hasNext();) { Element book = (Element) iter.next(); String email = book.getAttributeValue("email");// 获取email元素的值 System.out.println(email); String name = book.getChildTextTrim("name"); System.out.println(name); // 修改name元素的值,注意的是,必须确定book元素的名为“name”的子元素只有一个。 book.getChild("name").setText("edit-jdom"); } /** * 轮循List集合,方法2: */// for (int i = 0; i < booklist.size(); i++) {// Element book = (Element) booklist.get(i);// String email = book.getAttributeValue("email");// 获取email元素的值// System.out.println(email);// String name = book.getChildTextTrim("name");// System.out.println(name);//// 修改name元素的值,注意的是,必须确定book元素的名为“name”的子元素只有一个。// book.getChild("name").setText("edit-jdom");// } // 使用XMLOutputter类,把已经修改了的Document保存进XML文档中。 XMLOutputter outputter = new XMLOutputter(); outputter.output(doc, new FileOutputStream(xmlpath)); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new JDomParse(); }}
输出结果:
abc@163.com
jdom
这个时候在去查看library.xml会发现它已经变为:
<?xml version="1.0" encoding="UTF-8"?><books> <book email="abc@163.com"> <name>edit-jdom</name> <price>60.0</price> </book></books>
2.入门实例二:XML文件的创建与读取
代码实例:JdomRWXML.java
package books.test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;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.XMLOutputter;public class JdomRWXML { /** * 创建xml文档 * @throws IOException * @throws JDOMException */ public void BuildXMLDoc() throws IOException, JDOMException { // 创建根节点 list; Element root = new Element("list"); // 将根节点添加到文档中; Document Doc = new Document(root); // 此处 for 循环可替换成 遍历 数据库表的结果集操作; for (int i = 0; i < 5; i++) { // 创建新节点 company; Element elements = new Element("company"); // 给 company 节点添加属性 id; elements.setAttribute("id", "" + i); // 给 company 节点添加子节点并赋值 elements.addContent(new Element("company_name").setText("name" + i)); elements.addContent(new Element("company_email").setText("name" + i + "@163.com")); // 给父节点list添加company子节点; root.addContent(elements); } XMLOutputter XMLOut = new XMLOutputter(); // 输出company_list.xml文件; XMLOut.output(Doc, new FileOutputStream("company_list.xml")); } /** * 读取xml文档 * @throws IOException * @throws JDOMException */ public void ReadXMLDoc() throws IOException, JDOMException { SAXBuilder sb = new SAXBuilder();// 建立构造器 Document doc = sb.build(new FileInputStream("company_list.xml"));// 读入指定文件 Element root = doc.getRootElement();// 获得根节点 List<?> list = root.getChildren();// 将根节点下的所有子节点放入List中 for (int i = 0; i < list.size(); i++) { System.out.println("---------------------------"); Element item = (Element) list.get(i);// 取得节点实例 String id = item.getAttribute("id").getValue();// 取得属性值 System.out.println("id-->" + id); Element sub1 = item.getChild("company_name");// 取得当前节点的字节点 String company_name = sub1.getText();// 取得当前节点的值 System.out.println("company_name-->" + company_name); Element sub2 = item.getChild("company_email"); String company_email = sub2.getText(); System.out.println("company_email-->" + company_email); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { JdomRWXML jdomRWXML = new JdomRWXML(); System.out.println("--------BuildXMLDoc----------"); jdomRWXML.BuildXMLDoc(); System.out.println("--------ReadXMLDoc----------"); jdomRWXML.ReadXMLDoc(); } catch (Exception e) { e.printStackTrace(); } }}
- JDOM入门实例:读取与创建xml文档
- JDOM入门实例:读取与创建xml文档
- JDOM创建XML文档实例
- JDOM创建XML文档实例
- JDOM读取XML文档
- JDOM创建XML文档
- jdom创建XML文档
- xml文档创建与读取
- JDOM查询XML文档实例
- JDOM修改XML文档实例
- 用jdom创建xml文档
- 使用JDom来创建XML文档实例,需要引入jdom.jar包
- JDOM构造xml入门实例
- 如何用JDom读取XML文档(转载)
- 如何用JDom读取XML文档
- 如何用JDom读取XML文档
- java中用jdom 如何读取xml文档
- 如何用JDom读取XML文档
- cgi 上传文件(c 语言) 进度条显示
- java转换中文数字为阿拉伯数字
- ISCC 2012 真实关第一题
- 在Eclipse中配置Struts2第一个HelloWorld项目
- strings.xml中占位符使用
- JDOM入门实例:读取与创建xml文档
- ubuntu下安装mysql
- QT 推箱子小游戏编写
- Eclipse快捷键大全(转载)
- Android视频慢慢来1
- gridControl1 中添加checkbox 列
- MFC中动态创建对象的一点思考
- ibatis数据库连接配置
- 有序 循环数组的二分查找