在实际的开发过程中,避免不了要对xml文件进行解析。暂且写下来我自己在实际开发中用到的,当然只是一种方法,其他的暂时不说,等以后用到了在续写。
xml文件:
<rss xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title>apple</title>
<link>www.apple.com</link>
<description>苹果</description>
<item>
<title>apple1</title>
<link>www.apple.cn</link>
<pubDate>2017-8-22 20:17:00 </pubDate>
</item>
<item>
<title>apple2</title>
<link>www.apple.cm</link>
<pubDate>2017-8-22 20:18:00 </pubDate>
</item>
java代码:
File files= new File(文件路径);
SAXReader reader = new SAXReader();
Document document = null;
try{
document = reader.read(files);
}catch(Exception e){
System.out.println(e.getMessage());
}
Element DOCUMENTS = document.getRootElement();
List<Element> DOCUMENT = DOCUMENTS.elements("channel");
List<Element> item = null;
for(int i=0; i<DOCUMENT.size(); i++){
item = DOCUMENT.get(i).elements("item");
}
for(Element element:item) {
String title = StringUtil.stringFormat(element.element("title").getText());
String link = StringUtil.stringFormat(element.element("link").getText());
Date pubDate = CMSUtil.DateTimeFormat( element.element("pubDate").getText());
Object[] newValues = new Object[]{channelId,title, link, pubDate};
}
上面的代码可以获得到子节点item中的数据,可以在for循环中打印出来。
以上属个人观点,不喜勿喷,只为了让自己一点一点的强大而记录的笔记而已。