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 举报,一经查实,本站将立刻删除。