Java-DOM4J analysis of xml files (RSS news website actual combat project)

There are detailed comments in the code for beginners to read

Gitee: Click me to download the actual combat project of RSS news website

action/DemoAction

package com.zhuoyue.action;
import com.zhuoyue.po.Item;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@WebServlet("/show123")
public class DemoAction extends HttpServlet {
    
    
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        try {
    
    
        	//通过URL去练级网络服务器并获取资源
        	//http://www.people.com.cn/rss/culture.xml网站为人民网RSS新闻链接(xml格式文件)
            URL url=new URL("http://www.people.com.cn/rss/culture.xml");
            InputStream inputStream = url.openStream();
            //使用SAXReader需要导入dom4j-full.jar包
            //maven管理依赖
            //<dependency>
			//    <groupId>org.dom4j</groupId>
			//    <artifactId>dom4j</artifactId>
			//    <version>2.1.1</version>
			//</dependency>
            SAXReader saxReader = new SAXReader();
            //生成文档对应实体  
            Document document = saxReader.read(inputStream);
            //获取根标签(element)channel下面的很多个(elements)item。
            List<Element> items = document.getRootElement().element("channel").elements("item");
            ArrayList<Item> itemList = new ArrayList();
            for(Element el:items){
    
    
            	//获取item里面的标签名为title的内容
                String title = el.elementText("title");
                String link = el.elementText("link");
                String pubDate = el.elementText("pubDate");
                String description = el.elementText("description");
                String author = el.elementText("author");
                Item item=new Item();
                item.setTitle(title);
                item.setLink(link);
                item.setAuthor(author);
                item.setPubdate(pubDate);
                item.setDesc(description);
                itemList.add(item);
            }
            //输入获取到的数据
            for (Item  i:itemList ) {
    
    
                System.out.println(i);
            }
        }catch(Exception ex){
    
    
        }
    }
}

after / Item.java

//maven管理依赖
//<dependency>
//    <groupId>org.projectlombok</groupId>
//    <artifactId>lombok</artifactId>
//    <version>1.18.12</version>
//</dependency>
package com.zhuoyue.po;
import lombok.Data;
//@Data相当于生成get/set/toString
@Data
public class Item {
    
    
    private String title;
    private String link;
    private String pubdate;
    private String desc;
    private String author;
}

Guess you like

Origin blog.csdn.net/xiaozhezhe0470/article/details/109095297