前端之家收集整理的这篇文章主要介绍了
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']]");
原文链接:https://www.f2er.com/xml/298672.html