服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用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(); //取得节点列表
//按cid查找直接定位到row元素返回的是集合
list find = xpath.selectnodes(root, "/root/row[@pid=´1´]");
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=´3´][@cid=´10´]");
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文档完毕!");
}
}

扫描关注微信公众号