demo4j 读取xml

xml  文件如下



	
	



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();) {
				
				//将每个子节点赋给el
				Element el = (Element) i.next();
				
				//如果节点的名称为“article”,输出article元素属性category
				if ("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();
			 *
			 */


你可能感兴趣的:(Java,Web)