xml 格式如下
<root>
<crawler>
<domain>
<page></page>
<page></page>
</domain> <content>
<user></user>
<user></user>
</content>
</crawler>
</root>
下面是读取的代码 SAXReader reader = new SAXReader();
Document doc = reader.read(new FileInputStream(file),"UTF-8");
Element root = doc.getRootElement();
List crawlerElements=root.elements("crawler");
for(int i = 0;i<crawlerElements.size();i++){
Element crawlerElement=(Element)crawlerElements.get(i); List domainElements = crawlerElement.elements("domain");
List postElements = crawlerElement.elements("content");}
List postElements = crawlerElement.elements("content"); 为什么取这个节点取不到呢?? 打印的信息为null 是不是方法用错了 大家帮忙看下 急急急!!!
<root>
<crawler>
<domain>
<page></page>
<page></page>
</domain> <content>
<user></user>
<user></user>
</content>
</crawler>
</root>
下面是读取的代码 SAXReader reader = new SAXReader();
Document doc = reader.read(new FileInputStream(file),"UTF-8");
Element root = doc.getRootElement();
List crawlerElements=root.elements("crawler");
for(int i = 0;i<crawlerElements.size();i++){
Element crawlerElement=(Element)crawlerElements.get(i); List domainElements = crawlerElement.elements("domain");
List postElements = crawlerElement.elements("content");}
List postElements = crawlerElement.elements("content"); 为什么取这个节点取不到呢?? 打印的信息为null 是不是方法用错了 大家帮忙看下 急急急!!!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class DomTest { public static void main(String args[]) {
SAXReader reader = new SAXReader();
File file = new File("d:/domtest.xml");
Document doc;
try {
doc = reader.read(new FileInputStream(file), "UTF-8");
Element root = doc.getRootElement(); List crawlerElements = root.elements("crawler");
for (int i = 0; i < crawlerElements.size(); i++) {
Element crawlerElement = (Element) crawlerElements.get(i); List domainElements = crawlerElement.elements("domain");
List postElements = crawlerElement.elements("content");
System.out.println(postElements.size());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<root>
<crawler>
<domain>
<page>1</page>
<page>2</page>
</domain>
<content>
<user>a</user>
<user>b</user>
</content>
</crawler>
</root>
package bean;import java.io.File;
import java.util.List;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class Test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Document document = null;
try {
SAXReader sr=new SAXReader();
//根据xml文件生成document对象
document = sr.read(new File("src/bean/a.xml"));
//获取根节点root下的节点crawler
Element crawler= document.getRootElement().element("crawler");
//获取crawler->domain下的page列表
List<Element> pages=crawler.element("domain").elements("page");
//遍历page
for(Element page:pages){
System.out.println("page="+page.getText());
}
//获取根节点crawler->content下的user列表
List<Element> users=crawler.element("content").elements("user");
//遍历users
for(Element user:users){
System.out.println("user="+user.getText());
}
} catch (Exception e) {
e.printStackTrace();
}
}}打印内容:
page=1
page=2
user=a
user=b
我记着好像是content什么的,之后得判断一下如果是element类型就怎样做