【java求助】xml转化成对象集合

【java求助】xml转化成对象集合

问题描述:

解析以下xml,要求返回List集合

 <datas>
  <GwJkda>
    <grxh01>1223</grxh01>
    <ytjxh1>AKTD</ytjxh1>
    <grxm01>张国计</grxm01>
  </GwJkda>
  <GwJkda>
    <grxh01>1223</grxh01>
    <ytjxh1>AKTD</ytjxh1>
    <grxm01>张国计</grxm01>
  </GwJkda>
    <GwJkda>
    <grxh01>1223</grxh01>
    <ytjxh1>AKTD</ytjxh1>
    <grxm01>张国计</grxm01>
  </GwJkda>
    <GwJkda>
    <grxh01>1223</grxh01>
    <ytjxh1>AKTD</ytjxh1>
    <grxm01>张国计</grxm01>
  </GwJkda>
    <GwJkda>
    <grxh01>1223</grxh01>
    <ytjxh1>AKTD</ytjxh1>
    <grxm01>张国计</grxm01>
  </GwJkda>
</datas>

package csdn;

import java.io.IOException;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
/**

  • 各种解析均差不多,此为jdom2
  • 它和 dom4j是差不都的。
  • 如果需要jar包的话,留下邮箱我给你发
  • @author xrp09 */ public class JdomTest { public static void main(String[] args) { // TODO 自动生成的方法存根 SAXBuilder build = new SAXBuilder(); try { Document document = build.build("NewFile.xml"); Element rootElement = document.getRootElement(); List childs = rootElement.getChildren("GwJkda"); for(Element element : childs ){ List attributes = element.getChildren();//List attributes这个就是你要的list集合。 for(Element attr:attributes){ System.out.println("标签是:"+attr.getName()+",所对应的值是------"+attr.getValue()); } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }

图片说明

我之前写过这类的代码,不妨参照一下。
http://blog.csdn.net/Marksinoberg/article/details/49280137?locationNum=1

或者
http://blog.csdn.net/Marksinoberg/article/details/50548598

希望对你有所帮助。

package csdn;

import java.io.IOException;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
/**

  • 各种解析均差不多,此为jdom2
  • 它和 dom4j是差不都的。
  • 如果需要jar包的话,留下邮箱我给你发
  • @author xrp09 */ public class JdomTest { public static void main(String[] args) { // TODO 自动生成的方法存根 SAXBuilder build = new SAXBuilder(); try { Document document = build.build("NewFile.xml"); Element rootElement = document.getRootElement(); List childs = rootElement.getChildren("GwJkda"); for(Element element : childs ){ List attributes = element.getChildren();//List attributes这个就是你要的list集合。 for(Element attr:attributes){ System.out.println("标签是:"+attr.getName()+",所对应的值是------"+attr.getValue()); } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }

我写过json的orm映射,道理是一样的都是树形结构,你可以看我博客参考一下