association

使用JDOM操作XML系列文章四 使用JDOM和XPATH结合查询

使用JDOM操作XML系列文章四 使用JDOM和XPATH结合查询

package jing.xml;
/**
* <p>Title: 使用JDOM和XPATH结合查询</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author 欧朝敬 13873195792
* @version 1.0
*/
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.xpath.*;

import java.io.*;
import java.util.*;

public class TreeXML {
public TreeXML() {
}

public static void main(String[] args) throws Exception {
SAXBuilder sb = new SAXBuilder(); // 新建立构造器
Document doc = sb.build(new FileInputStream("company.xml")); // 读入文件
Element root = doc.getRootElement(); // 获得根元素element
List row = root.getChildren(); //取得节点列表 编程大本营HTTp://www.timihome.net
//按CID查找直接定位到ROW元素返回的是集合
List find = XPath.selectNodes(root, "/ROOT/ROW[@PID=&acute;1&acute;]");
for (int i = 0; i < find.size(); i++) {
Element findelement = (Element) find.get(i);
System.out.println(findelement.getAttributeValue("CNAME"));
}

//多条件查询
Element findelement=(Element)XPath.selectSingleNode(root,"/ROOT/ROW[@PID=&acute;3&acute;][@CID=&acute;10&acute;]");
System.out.println(findelement.getAttributeValue("CNAME"));

XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); //格式华输出,产生缩进和换行

//重新格式化
Format format = outp.getFormat();
format.setEncoding("GB2312");
format.setExpandEmptyElements(true);
outp.setFormat(format);

//outp.output(doc, new FileOutputStream("jdomcompany.xml")); //输出XML文档
outp.output(doc, System.out);
System.out.println("JDOM操作XML文档完毕!");
}

编程大本营


}
  

   本页摘自URL地址: http://www.timihome.net/html/java/java_j2ee/20070625/3824.html

posted on 2008-03-07 17:46 扬扬 阅读(275) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜