Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 374|回复: 0

[xml学习]xml小工具

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-10 00:58:31 | 显示全部楼层 |阅读模式
    因为需要在android手机上面解析xml,而现有的xml库大多都比较大,而且我需要的功能也比较少,所以就自己实现了一个。同时也熟悉了一下注解的运用,这个工具就只有两个功能: 1.将javabean转换成String类型的对象以便网络传输 2.将String类型对象转换成javabean以便操作方便 所有代码只有4个类,代码我就不贴了,发一下测试代码,想研究的可以下载来看看 package test;
    import java.util.ArrayList;
    import cn.infogiga.util.xml.XMLBean;
    import cn.infogiga.util.xml.XMLElement;
    import cn.infogiga.util.xml.XMLField;
    import cn.infogiga.util.xml.XMLTypes;
    /**
    * value表示这个节点名称 type=XMLTypes.XML_ROOT表示这是根节点
    * 如果不是根节点 输出的xml没有xml头:<?xml version="1.0" encoding="UTF-8"?>
    * @author cindy
    */
    @XMLElement(value="BeanA",type=XMLTypes.XML_ROOT)
    public class BeanA extends XMLBean{
            /**
             * value表示节点名称,XMLTypes.XML_ELEMENT表示这是普通节点
             */
            @XMLField(value="Field1",xmlType=XMLTypes.XML_ELEMENT)
            private String flied1;
           
            @XMLField(value="Field2",xmlType=XMLTypes.XML_ELEMENT)
            private String fleld2;
           
            @XMLField(value="Field3",xmlType=XMLTypes.XML_ELEMENT)
            private String field3;
            /**
             * xmlType=XMLTypes.XML_LIST表示这是多个重复节点,这里一定要是ArrayList 如果是List则会报错
             * 如果xmlType=XMLTypes.XML_LIST 那么mClass=BeanB.class 这个一定要添加,初始化是需要用到,没有什么意义
             * 如果value="beanBs"省略则输出的xml将会有变化:
             * 有value="beanBs"输出的字符串:
             * <?xml version="1.0" encoding="UTF-8"?>
                    <BeanA>
                            <Field1>111111</Field1>
                            <Field2>222222</Field2>
                            <beanBs>
                                 <BeanB>
                                       <Field1>b33333</Field1>
                                 </BeanB>
                   
                                 <BeanB>
                                       <Field1>b44444</Field1>
                                 </BeanB>
                           </beanBs>
                     </BeanA>
              *        没有value="beanBs"输出的字符串:
                    <?xml version="1.0" encoding="UTF-8"?>
                    <BeanA>
                            <Field1>111111</Field1>
                            <Field2>222222</Field2>
                            <Field3>333333</Field3>
                            <BeanB>
                                    <str2>b33333</str2>
                            </BeanB>
                           
                            <BeanB>
                                    <str2>b44444</str2>
                            </BeanB>
                    </BeanA>
             */
            @XMLField(value="beanBs",xmlType=XMLTypes.XML_LIST,mClass=BeanB.class)
            private ArrayList<BeanB> beanBs;
           
            public ArrayList<BeanB> getBeanBs() {
                    return beanBs;
            }
            public void setBeanBs(ArrayList<BeanB> beanBs) {
                    this.beanBs = beanBs;
            }
            public String getFlied1() {
                    return flied1;
            }
            public void setFlied1(String flied1) {
                    this.flied1 = flied1;
            }
           
            public String getFleld2() {
                    return fleld2;
            }
            public void setFleld2(String fleld2) {
                    this.fleld2 = fleld2;
            }
            public String getField3() {
                    return field3;
            }
            public void setField3(String field3) {
                    this.field3 = field3;
            }
    }
    [/code] package test;
    import cn.infogiga.util.xml.XMLBean;
    import cn.infogiga.util.xml.XMLElement;
    import cn.infogiga.util.xml.XMLField;
    import cn.infogiga.util.xml.XMLTypes;
    @XMLElement(value="BeanB",type=XMLTypes.XML_UNROOT)
    public class BeanB extends XMLBean{
           
            @XMLField(value="str2",xmlType=XMLTypes.XML_ELEMENT)
            private String str2;
            public String getStr2() {
                    return str2;
            }
            public void setStr2(String str2) {
                    this.str2 = str2;
            }
    }
    [/code] package test;
    import java.util.ArrayList;
    import java.util.List;
    public class TestMain2 {
            /**
             * @param args
             */
            public static void main(String[] args) {
                    BeanA ba = new BeanA();
                   
                    ba.setFlied1("111111");
                    ba.setFleld2("222222");
                    ba.setField3("333333");
                    ArrayList<BeanB> bList = new ArrayList<BeanB>();
                    BeanB b = new BeanB();
                    b.setStr2("b33333");
                    bList.add(b);
                    BeanB c = new BeanB();
                    c.setStr2("b44444");
                    bList.add(c);
                    ba.setBeanBs(bList);
                    System.out.println(ba.toString());
                   
            }
    }                     [/code] package test;
    import java.util.ArrayList;
    public class TestMain3 {
            /**
             * @param args
             */
            public static void main(String[] args) {
                    /*// TODO Auto-generated method stub
                    BeanA beanA = new BeanA();
                    beanA.getBeanBs().getClass();*/
                    String xml = "<?xml version="1.0" encoding="UTF-8"?>
             <BeanA><Field1>111111</Field1><Field2>222222</Field2><Field3>333333</Field3><beanBs>
             <BeanB><str2>b33333</str2></BeanB><BeanB><str2>b44444</str2></BeanB></beanBs></BeanA>";
                   
                    BeanA beanA = new BeanA();
                    try {
                            beanA.parse(xml);
                    } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                    }
                    System.out.println(beanA.getFlied1());
                    System.out.println(beanA.getFleld2());
                    System.out.println(beanA.getField3());
                    ArrayList<BeanB> l = beanA.getBeanBs();
                    if(l != null){
                            for(int i=0;i<l.size();i++){
                                    BeanB b = l.get(i);
                                    System.out.println(b.getStr2());
                            }
                    }
            }
    }
                            [/code]  添加了点简单的注释
    复制代码

       
         
         
          
          

            
          

            
          
         
       

      


    源码下载:http://file.javaxxz.com/2014/10/10/005830187.rar
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-16 07:43 , Processed in 0.416720 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表