源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java解析xml之dom解析xml示例分享

  • 时间:2021-01-20 03:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java解析xml之dom解析xml示例分享
[u]复制代码[/u] 代码如下:
package com.test; import java.io.File; 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.Node; import org.w3c.dom.NodeList; public class DomXML {     public static void main(String[] args) {         try {             File file = new File("e:/People.xml");              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();               DocumentBuilder builder = factory.newDocumentBuilder();               Document document = builder.parse(file);               Element element = document.getDocumentElement();             List<People> peopleList = new ArrayList<People>();             NodeList peopleNodes = element.getElementsByTagName("People");             for(int i=0;i<peopleNodes.getLength();i++){                   People people = new People();                 Element peopleElement = (Element) peopleNodes.item(i);                 people.setId(peopleElement.getAttribute("id"));                 NodeList childPeopleNodes = peopleElement.getChildNodes();                 for(int j=0;j<childPeopleNodes.getLength();j++){                     //DOM解析时候注意子节点前面的空格也会被解析                     if(childPeopleNodes.item(j) instanceof Element){                         Element childPeopleElement = (Element) childPeopleNodes.item(j);                         if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){                              if(childPeopleElement.getNodeName().equals("Name")){                                 people.setEnglishName(childPeopleElement.getAttribute("en"));                                 people.setName(childPeopleElement.getTextContent());                             }                             else if(childPeopleElement.getNodeName().equals("Age")){                                 people.setAge(childPeopleElement.getTextContent());                                }                         }                     }                 }                 peopleList.add(people);             }             for(People people : peopleList){                 System.out.println(people.getId()+"\t"+people.getName()+"\t"+people.getEnglishName()+"\t"+people.getAge());             }         } catch (Exception e) {             // TODO 自动生成的 catch 块             e.printStackTrace();         }             } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部