zoukankan      html  css  js  c++  java
  • xml运用1

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    
    public class BookUtis {
    	
    	public List<Book> xmlToBook(InputStream is) throws Exception{
    		//封装了对xml的解析
    		SAXReader read=new SAXReader();
    		//做文件,解析器读取数据InputStream。从网络端收取数据或者从文件中读取数据
    		Document doc=read.read(is);
    		//根元素
    		Element root=doc.getRootElement();
    		List<Book> booklist=new ArrayList<Book>();
    		
    		
    		 List<Element> bookElements=root.elements("book");//这个文件万一下面有多个子元素的话,只拿其中book
    		 for(Element e:bookElements){
    			Book book=new Book();
    			//明确book下只有name单个元素
    			//                 book元素下获取name返回Element类型的list,只有一个元素取get(0)获取第一行,整体扩起来是一个单个元素,获取文本,tostring
    			
    			String name=((Element)(e.elements("name").get(0))).getData().toString();
    			
    			double price=Double.parseDouble(((Element)(e.elements("price").get(0))).getData().toString());
    			
    			book.setName(name);
    			book.setPrice(price);
    			booklist.add(book);
    		 }
    		
    		return booklist;
    	}
    	
    	public List<Book> xmlToBook(String xmlFileName) throws Exception{
    		InputStream is=new FileInputStream(xmlFileName);
    		List<Book> list=xmlToBook(is);
    		
    		
    		
    		
    		return list;
    	}
    
    	public void bookToXML(List<Book> booklist,OutputStream os) throws Exception{
    		
    		Document doc=DocumentHelper.createDocument();
    		Element root=doc.addElement("books");
    		for(Book book:booklist){
    			Element bookElement=root.addElement("book");
    			bookElement.addElement("name").setText(book.getName());
    			bookElement.addElement("price").setText(String.valueOf(book.getPrice()));
    			
    		}
    		
    		
    		XMLWriter write=new XMLWriter(os,OutputFormat.createCompactFormat());
    		
    		write.write(doc);
    		
    		write.close();
    	}
    }
    

      

  • 相关阅读:
    HDU 4350 Card
    HDU 4287 Intelligent IME
    POJ Stars
    字符串处理
    NYOJ 63 小猴子下落
    在 DataGrid 控件中显示 SQL Server 数据库中的数据
    Linq to sql学习之查询句法
    SqlMethods
    SQLSERVER 2008 R2中的全文检索
    分享学习网站大全
  • 原文地址:https://www.cnblogs.com/dss1025/p/8430710.html
Copyright © 2011-2022 走看看