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 是不是方法用错了 大家帮忙看下 急急急!!!
------解决方案--------------------------------------------------------
我用你的程序读,是读得到的哦。代码如下:
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();
}
}
}