java读取xml文件内容——转自翘首以望

Posted life-is-demo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java读取xml文件内容——转自翘首以望相关的知识,希望对你有一定的参考价值。

xml文件

技术分享图片
<?xml version="1.0" encoding="UTF-8"?>
<Object>
<student>
<stuName>张三</stuName>
<stuAddress>郑州</stuAddress>
<stuTel>111</stuTel>
</student>
<user>
<userName>aaa</userName>
<userAge>100</userAge>
<userSex>男</userSex>
</user>
<book>
<bookName>语文</bookName>
<bookAuthor>XXX</bookAuthor>
<bookPrice>100</bookPrice>
</book>
</Object>
技术分享图片

操作方法

技术分享图片
package com.xml;

import java.io.File;
import java.net.URL;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import com.bean.Book;
import com.bean.Student;
import com.bean.User;

public class SaxXml {
    public static void main(String[] args) throws Exception {
        //File file=new File("config/student.xml");
        //获取dom树
        URL url=SaxDbXml.class.getClassLoader().getResource("student.xml");
        SAXReader sax=new SAXReader();
        //Document dom=sax.read(file);
        Document dom = sax.read(url);
        //获取dom树里面的根节点
        Element rootEle=dom.getRootElement();
        //获取根节点下的节点元素
        List<Element> eleList=rootEle.elements();
        //System.out.println(eleList.size());a
        //循环获取每个节点元素
        for(int i=0;i<eleList.size();i++){
            
            Element childEle=eleList.get(i);
            String name=childEle.getName();
            if(name.equalsIgnoreCase("student")){
                Student stu=new Student();
                //获取节点下面的子节点
                List<Element> childList=childEle.elements();
                for(int j=0;j<childList.size();j++){
                    Element ele=childList.get(j);
                    String eleName=ele.getName();
                    if(eleName.equalsIgnoreCase("stuName")){
                        stu.setStuName(ele.getText());
                        //System.out.println(ele.getText());
                    }else if(eleName.equalsIgnoreCase("stuAddress")){
                        stu.setStuAddress(ele.getText());
                    }else if(eleName.equalsIgnoreCase("stuTel")){
                        stu.setStuTel(ele.getText());
                    }
                    
                }
            }else if(name.equalsIgnoreCase("user")){
                User user=new User();
                //获取子节点元素
                List<Element> userList=childEle.elements();
                for(int k=0;k<userList.size();k++){
                    Element userEle=userList.get(k);
                    //判断子节点元素的名称,进行相应的存值
                    if(userEle.getName().equalsIgnoreCase("userName")){
                        user.setUserName(userEle.getText());
                    }else if(userEle.getName().equalsIgnoreCase("userSex")){
                        
                        user.setUserSex(userEle.getText());
                    }else if(userEle.getName().equalsIgnoreCase("userAge")){
                        user.setUserAge(userEle.getText());
                    }
                }
                
            }else if(name.equalsIgnoreCase("book")){
                Book book=new Book();
                List<Element> bookList=childEle.elements();
                for(int k=0;k<bookList.size();k++){
                    Element bookEle=bookList.get(k);
                    String eleName=bookEle.getName();
                    if(eleName.equalsIgnoreCase("bookName")){
                        book.setBookName(bookEle.getText());
                    }else if(eleName.equalsIgnoreCase("bookAuthor")){
                        book.setBookAuthor(bookEle.getText());
                    }else if(eleName.equalsIgnoreCase("bookPrice")){
                        book.setBookPrice(bookEle.getText());
                        
                    }
                }
                
                
            }
            
            }
        }
    }
技术分享图片

以上是关于java读取xml文件内容——转自翘首以望的主要内容,如果未能解决你的问题,请参考以下文章

js通用扩展方法——转自翘首以望

开发中巧用Enum枚举类型——转自翘首以望

Java里面怎么解析xml文件的内容

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

java XML添加文本内容

java读取xml文件内容