xml-读写查-基本步骤

SAXReader reader=new SAXReader();//---获得解析器
File f=new File(fileName);---指定解析文件
//构造文档树并且返回
Document document=reader.read(f);
//获得根元素
Element rootElement=document.getRootElement();
//获得武侠小说元素
List<Element> list=rootElement.elements("名称");
Iterator<Element> it=list.iterator();
//打印信息
while(it.hasNext()){
			Element e=it.next();
			System.out.println(e.elementText("书名"));
			System.out.println(e.elementText("价格"));
			System.out.println(e.elementText("简介"));
		}


//打印属性

while(it.hasNext()){
			Element e=it.next();
			List att=e.attributes();
			Iterator attit=att.iterator();
			while(attit.hasNext()){
			Attribute atts=(Attribute) attit.next();
			System.out.println(atts.getName()+" "+atts.getValue());
			}
				
}



Iterator attit=e.attributeIterator();//----简写,直接写入Iterator 

//1创建空文档
Document doc=DocumentHelper.createDocument();
//添加根元素
Element root=doc.addElement("书记列表");
//在根元素上添加元素

Element book=root.addElement("武侠小说");
Element title=book.addElement("书名");
Element author=book.addElement("作者");



//设置类容
		title.setText("天龙八部");
		author.setText("金庸");
//添加属性
		book.addAttribute("bookNo","1001");
		book.addAttribute("hot","true");


写入开始

			//创建写入流用于写入数据
			FileWriter writer=new FileWriter(fileName);
			//设置编码格式
			OutputFormat ou=OutputFormat.createPrettyPrint();
			ou.setEncoding("gb2312");
			//XMLWriter写出xml文件
			XMLWriter xmlWriter=new XMLWriter(writer,ou);
			xmlWriter.write(doc);
			xmlWriter.close();

1) XPath:在XML文件中查找或定位信息的语言
XPath可以通过元素/属性/值来定位或导航
2) 节点(Node): 相当于XML文件中的元素
3) 指定条件定位元素的方式

1:获得解析器
SAXReader reder=new SAXReader();
Document doc=reder.read(fileName);
指定根目录
Node node=doc.selectSingleNode("/书籍列表");
获得元素
	List<Element> list=node.selectNodes("书籍");
for(Element e:list){
				System.out.println(e.elementText("书名"));
				System.out.println(e.elementText("作者"));
				System.out.println(e.elementText("价格"));
				System.out.println("------------");
}

获取指定元素的指定标题的值
System.out.println(e.element("title").attributeValue("lang"));
book属性的值System.out.println(e.attributeValue("id"));

1:查找所有中文书(书名[@国家='zh'])
过滤元素
List<Element> list=node.selectNodes("书籍/书名[@国家='zh']");
			for(Element e:list){
				System.out.println(e.getStringValue());
				System.out.println("------------");
				
			}

2:查找书籍类型为青春的书籍
List<Element> list=node.selectNodes("书籍[@书籍类型='青春']");
3:查找价格大于60的书籍
List<Element> list=node.selectNodes("书籍[价格>60]");
4:作者是金庸
List<Element> list=node.selectNodes("书籍[作者='金庸']");
5:价格大于60并且国家是中国
List<Element> list=node.selectNodes("书籍[价格>60 and 书名[@国家='zh']]");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇