demo4j 读取xml

来源:互联网 发布:游戏数据分析报告 编辑:程序博客网 时间:2024/04/28 16:25

xml  文件如下

<?xml version="1.0" encoding="UTF-8"?><articles><article category = "xml"><title>XML 概述</title><author>janet</author><email>janetvsfei@yahoo.com.cn</email><date>20080801</date></article><article category = "java"><title>Java 基本语法</title><author>janet</author><email>janetvsfei@yahoo.com.cn</email><date>20080801</date></article></articles>

java  代码如下

package spring;import java.io.File;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class test {public static void main(String [] args)throws Exception{ Document document = null;      try {          SAXReader saxReader = new SAXReader();          document = saxReader.read(new File("f:\\article.xml")); // 读取XML文件,获得document对象      } catch (Exception ex) {          ex.printStackTrace();      }  //获取根节点Element root = document.getRootElement();//获取根节点下的子节点for (Iterator i = root.elementIterator(); i.hasNext();) {//将每个子节点赋给elElement el = (Element) i.next();//如果节点的名称为“article”,输出article元素属性categoryif ("article".equals(el.getName())) {//获取节点元素的名称for(Iterator it = el.attributeIterator();it.hasNext();){Attribute attribute = (Attribute) it.next();//获取结点元素的属性的值String text=attribute.getText();//输出元素属性值         System.out.println("书籍的类目"+text);}//结点元素内容输出(把元素也当成结点)for(Iterator it=el.elementIterator();it.hasNext();){                       Element elchild = (Element) it.next();                       if("title".equals(elchild.getName()))                 System.out.println("     书名《"+elchild.getText()+"》");                 if("author".equals(elchild.getName()))                 System.out.println("     作者"+elchild.getText()+"。");                 if("email".equals(elchild.getName()))                 System.out.println("     邮箱:"+elchild.getText()+"。");                 if("date".equals(elchild.getName()))                 System.out.println("  出版日期:"+elchild.getText()+"。");                              }           }}}}/* * 1、获取根结点     getRootElement * 2、//获取根节点下的子节点      for (Iterator i = root.elementIterator(); i.hasNext();) {Element el = (Element) i.next(); * 3、获取该节点(元素)的名称      getName() * 4、获取该元素标签内的内容        getText() * 5、获取结点的属性  for(Iterator it = el.attributeIterator();it.hasNext();){Attribute attribute = (Attribute) it.next(); * */


1 0
原创粉丝点击