代码中有详细注释,可供初学者阅读
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){
}
}
}
po/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;
}