Reader reader = new StringReader(strxml);//strxml是xml下边是实例
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(reader);
Element root = doc.getRootElement();//得到根节点
Element mailfj=root.getChild("邮件附件");
List fjlist = mailfj.getContent();//得到附件集合
Map<String,String> map = null;
for (int i=0;i<fjlist.size();i++){
map = new HashMap<String,String>();
Element fj = (Element) fjlist.get(i);
String title=fj.getAttributeValue("文件名称");
String size=fj.getAttributeValue("文件大小");
String content=fj.getChildTextTrim("文件内容");
}上边是我写的解析xml的java方法,我现在只需要取出“邮件附件”中的信息,但是遍历出来是null。帮忙看看是那的问题谢谢了!xml:<?xml version="1.0" encoding="GB2312"?><邮件信息 标识符="10377:20" 紧急程度="一般" >
<发件人>黄定东</发件人>
<主题>测试邮件1</主题>
<发送时间>2009-09-16 09:56:14</发送时间>
<邮件大小 单位="KB">33</邮件大小>
<邮件正文><![CDATA[我的测试]]></邮件正文>
<邮件附件>
<附件>
<文件名称>1.doc</文件名称>
<文件大小 单位="KB">32768</文件大小>
<文件内容>4444444</文件内容>
</附件>
<附件>
<文件名称>2.doc</文件名称>
<文件大小 单位="KB">32768</文件大小>
<文件内容>55555555</文件内容>
</附件>
</邮件附件>
</邮件信息>
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(reader);
Element root = doc.getRootElement();//得到根节点
Element mailfj=root.getChild("邮件附件");
List fjlist = mailfj.getContent();//得到附件集合
Map<String,String> map = null;
for (int i=0;i<fjlist.size();i++){
map = new HashMap<String,String>();
Element fj = (Element) fjlist.get(i);
String title=fj.getAttributeValue("文件名称");
String size=fj.getAttributeValue("文件大小");
String content=fj.getChildTextTrim("文件内容");
}上边是我写的解析xml的java方法,我现在只需要取出“邮件附件”中的信息,但是遍历出来是null。帮忙看看是那的问题谢谢了!xml:<?xml version="1.0" encoding="GB2312"?><邮件信息 标识符="10377:20" 紧急程度="一般" >
<发件人>黄定东</发件人>
<主题>测试邮件1</主题>
<发送时间>2009-09-16 09:56:14</发送时间>
<邮件大小 单位="KB">33</邮件大小>
<邮件正文><![CDATA[我的测试]]></邮件正文>
<邮件附件>
<附件>
<文件名称>1.doc</文件名称>
<文件大小 单位="KB">32768</文件大小>
<文件内容>4444444</文件内容>
</附件>
<附件>
<文件名称>2.doc</文件名称>
<文件大小 单位="KB">32768</文件大小>
<文件内容>55555555</文件内容>
</附件>
</邮件附件>
</邮件信息>
private static void pareseXml(String fileName) {
try {
SAXBuilder builder = new SAXBuilder();
String path = ClassLoader.getSystemResource(fileName).getFile();
Document doc = builder.build(new File(path));
Element foo = doc.getRootElement();
List allChildren = foo.getChild("邮件附件").getChildren();
String name = "";
String size = "";
String content = "";
for (int i = 0; i < allChildren.size(); i++) {
name = ((Element) allChildren.get(i)).getChild("文件名称").getText();
size = ((Element) allChildren.get(i)).getChild("文件大小").getText();
content = ((Element) allChildren.get(i)).getChild("文件内容").getText();
System.out.println("name is :"+ name + " size is :" + size+" content is :"+content);
}
} catch (Exception e) {
e.printStackTrace();
}
}