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']]");

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念