欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java XML DOM解析范例代码,xmldom,import java.

来源: javaer 分享于  点击 15194 次 点评:15

Java XML DOM解析范例代码,xmldom,import java.


import java.io.InputStream;  import java.util.ArrayList;  import java.util.List;  import javax.xml.parsers.DocumentBuilder;  import javax.xml.parsers.DocumentBuilderFactory;  import org.w3c.dom.Document;  import org.w3c.dom.Element;  import org.w3c.dom.NodeList;  import org.w3c.dom.Node;  import com.xtlh.cn.entity.Book;  public class DomParseService {      public List<Book> getBooks(InputStream inputStream) throws Exception{          List<Book> list = new ArrayList<Book>();          DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();          DocumentBuilder builder = factory.newDocumentBuilder();          Document document = builder.parse(inputStream);          Element element = document.getDocumentElement();          NodeList bookNodes = element.getElementsByTagName("book");          for(int i=0;i<bookNodes.getLength();i++){              Element bookElement = (Element) bookNodes.item(i);              Book book = new Book();              book.setId(Integer.parseInt(bookElement.getAttribute("id")));              NodeList childNodes = bookElement.getChildNodes();  //          System.out.println("*****"+childNodes.getLength());              for(int j=0;j<childNodes.getLength();j++){                  if(childNodes.item(j).getNodeType()==Node.ELEMENT_NODE){                      if("name".equals(childNodes.item(j).getNodeName())){                          book.setName(childNodes.item(j).getFirstChild().getNodeValue());                      }else if("price".equals(childNodes.item(j).getNodeName())){                          book.setPrice(Float.parseFloat(childNodes.item(j).getFirstChild().getNodeValue()));                      }                  }              }//end for j              list.add(book);          }//end for i          return list;      }  }  public class Book {      private int id;      private String name;      private float price;      public int getId() {          return id;      }      public void setId(int id) {          this.id = id;      }      public String getName() {          return name;      }      public void setName(String name) {          this.name = name;      }      public float getPrice() {          return price;      }      public void setPrice(float price) {          this.price = price;      }      @Override     public String toString(){          return this.id+":"+this.name+":"+this.price;      }  }  public class ParseTest extends TestCase{      public void testDom() throws Exception{          InputStream input = this.getClass().getClassLoader().getResourceAsStream("book.xml");          DomParseService dom = new DomParseService();          List<Book> books = dom.getBooks(input);          for(Book book : books){              System.out.println(book.toString());          }      }  }
                                xml文件描述:
 <?xml version="1.0" encoding="UTF-8"?> <books> <book id="12"> <name>thinking in java</name> <price>85.5</price> </book> <book id="15"> <name>Spring in Action</name> <price>39.0</price> </book> </books>
相关栏目:

用户点评