精华内容
下载资源
问答
  • java 根据实体类生成XML格式字符串,可根据自己的实体类进行修改
  • java实体类转换成xml格式

    千次阅读 2018-05-09 17:30:06
    package ... import java.io.StringReader; import java.io.StringWriter; import java.net.URL; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import ...
    package cn.ac.sec.service.empi.guizhou;
    
    import java.io.StringReader;
    import java.io.StringWriter;
    import java.net.URL;
    
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.rpc.Service;
    
    import cn.ac.sec.common.constant.Constant;
    import cn.ac.sec.common.constant.URLConstant;
    import cn.ac.sec.common.util.PropertiesUtil;
    import cn.ac.sec.model.app.AppUser;
    import cn.ac.sec.service.empi.guizhou.model.PersonInfo;
    import cn.com.mandalat.UHIDService.UHIDServiceLocator;
    import cn.com.mandalat.UHIDService.UHIDServiceSoapStub;
    
    public class UHIDService {
    	protected static String GZ_EMPI_WS_URL=null;
    	static{
    	PropertiesUtil util = new PropertiesUtil(Constant.CUSTOM_PROPERTIES);
    	GZ_EMPI_WS_URL=util.readKey(Constant.GZ_EMPI_WS_URL);
    	}
    	
    	public static String entrty2XML(PersonInfo pserson) throws Exception{
    		
    		        JAXBContext context = JAXBContext.newInstance(PersonInfo.class);
    		        Marshaller marshaller = context.createMarshaller();
    		        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    		        marshaller.setProperty(Marshaller.JAXB_ENCODING, "GBK");
    		        StringWriter writer = new StringWriter();
    		        marshaller.marshal(pserson, writer);
    		        System.out.println(writer.toString());
    		        String str= writer.toString();
    		        int i = str.indexOf("<personInfo>")+"<personInfo>".length() ;
    		        int j = str.indexOf("</personInfo>");
    		        System.out.println( str.substring(i, j));
    		        return str.substring(i, j);
    	}
    	public static PersonInfo getPersonInfo(AppUser user){
    		PersonInfo personInfo = new PersonInfo();
    		personInfo.setUID(null);
    		personInfo.setName(user.getRealname());
    		personInfo.setGender(user.getGender().toString());
    		personInfo.setHoroscopy(user.getBirthday());
    		personInfo.setTerritory(user.getAddress());
    		personInfo.setIdiom(null);
    		personInfo.setMater(null);
    		personInfo.setMemory(null);
    		personInfo.setCertType(user.getType());
    		personInfo.setCertId(user.getIdNumber());
    		return personInfo;
    	}
    	/**
    	 * 注册
    	 */
    	public static void UHIDregister(AppUser user){
    		PersonInfo personInfo = getPersonInfo(user);
    		String requesthead = "<EMPIRequest Token=\"xxxxxxxxx\" sn:type=\"PersonalInfoRegistry\" xmlns:sn=\"http://www.w3.org/2001/XMLSchema-instance\">";
    		String requestfoot = "</EMPIRequest>";
    		try {
    			String str = entrty2XML(personInfo);
    			String requestStr = requesthead + str + requestfoot;
    			URL endpointURL =new URL(GZ_EMPI_WS_URL);
    			Service service = (Service) new UHIDServiceLocator();
    			UHIDServiceSoapStub stub = new UHIDServiceSoapStub(endpointURL, service);
    			stub.EMPIExecute(requestStr);
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    	/**
    	 * 修改
    	 */
        public static void UHIDupdate(){
    		
    	}
        /**
         * 注销
         */
        public static void UHIDcancle(){
        	
        }
        /**
         * 查询
         */
        public static void UHIDquery(){
        	
        }
    	public static void main(String[] args) {
    		AppUser app = new AppUser();
    		app.setAddress("beijing");
    		app.setRealname("wangn");
    		app.setIdNumber("123456780987654");
    		app.setType("sfz");
    		app.setGender(1);
    		app.setBirthday("20180509");
    		PersonInfo p = getPersonInfo(app);
    
    		try {
    		entrty2XML(p);	
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    

    输出为:

    <?xml version="1.0" encoding="GBK" standalone="yes"?>
    <personInfo>
        <Name>wangning</Name>
        <Gender>1</Gender>
        <Horoscopy>20180509</Horoscopy>
        <Territory>beijing</Territory>
        <CertType>sfz</CertType>
        <CertId>123456780987654</CertId>
    </personInfo>
    
    
        <Name>wangning</Name>
        <Gender>1</Gender>
        <Horoscopy>20180509</Horoscopy>
        <Territory>beijing</Territory>
        <CertType>sfz</CertType>
        <CertId>123456780987654</CertId>

    另外注意实体类中的字段需要使用

    @XmlRootElement进行标注生成xml的节点

    实体类:

    import java.util.Arrays;
    
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    
    /**
     * 贵州人员实体类
     * @author fdwdz
     *
     */
    @XmlAccessorType(value=XmlAccessType.FIELD) 
    @XmlRootElement
    public class PersonInfo {
    	/**
    	 * 主索引UID
    	 */
    	@XmlElement
    	private String UID;
    	/**
    	 * 姓名、称呼
    	 */
    	@XmlElement
    	private String Name;
    	/**
    	 * 性别
    	 */
    	@XmlElement
    	private String Gender;
    	/**
    	 * 出生日期
    	 */
    	@XmlElement
    	private String Horoscopy;
    	/**
    	 * 出生地省级行政区
    	 */
    	@XmlElement
    	private String Territory;
    	/**
    	 * 出生地语言标识
    	 */
    	@XmlElement
    	private String Idiom;
    	/**
    	 * 母亲姓名
    	 */
    	@XmlElement
    	private String Mater;
    	/**
    	 * 联系人姓名
    	 */
    	@XmlElement
    	private String Memory;
    	/**
    	 * 身份证件数组
    	 */
    	@XmlElement
    	private String[] Certifications;
    	/**
    	 * 证件类型
    	 */
    	@XmlElement
    	private String CertType;
    	/**
    	 * 证件号
    	 */
    	@XmlElement
    	private String CertId;

    展开全文
  • XML 节点名称 要与Bean相同 该项目 包含测试代码 可以演示。 节点属性 可以为String 多层节点 请用List表示
  • NULL 博文链接:https://hfkiss44.iteye.com/blog/567137
  • xml实体类转换工具

    2020-09-28 14:14:31
    XML实体类的相互转换工具,util是工具类,MyTest包含实体类转xml字符串以及XML字符串转实体类的方法,需要引入外部依赖或jar包,亲测可用
  • java xml实体类转换

    千次阅读 2018-01-05 16:07:33
    @XmlRootElement注解定义xml的根节点 通过name改变根节点的xml值  @XmlRootElement(name = "amimal_test") @XmlType注解 指定序列生成的xml节点顺序  @XmlType(propOrder={"id","age","name","bir

    @XmlRootElement注解定义xml的根节点 通过name改变根节点的xml值

                        @XmlRootElement(name = "amimal_test")

    @XmlType注解 指定序列生成的xml节点顺序

                     @XmlType(propOrder={"id","age","name","birthDay","list","person","map"})
                    @XmlType的propOrder 属性时,必须列出JavaBean对象中的所有属性【是javaBean里面的属性 跟XmlElement的name设置无关】,否则会报错
    @XmlAccessorOrder注解 指定生成xml节点的方式  默认是XmlAccessorOrder.UNDEFINED无序 还可设置XmlAccessorOrder.ALPHABETICAL按照属性的字母排序
    注意:  @XmlType(propOrder和@XmlAccessorOrder同时存在时 以@XmlType(propOrder为准

    @XmlAccessorType 用于指定由java对象生成xml文件时对java对象属性的访问方式。
                常与@XmlRootElement、@XmlType一起使用。它的属性值是XmlAccessType的4个枚举值, 分别为:

                                XmlAccessType.FIELD:java对象中的所有成员变量
                                XmlAccessType.PROPERTY:java对象中所有通过getter/setter方式访问的成员变量
                                XmlAccessType.PUBLIC_MEMBER:java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量
                                XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素

      注意:@XmlAccessorType的默认访问级别是XmlAccessType.PUBLIC_MEMBER,
    因此,如果java对象中的private成员变量设置了public权限的getter/setter方法,就不要在private变量上使用@XmlElement和@XmlAttribute注解,
    只能在getter/setter方法上使用@XmlElement和@XmlAttribute注解,否则由java对象生成xml时会报同一个属性在java类里存在两次的错误。
    同理,如果@XmlAccessorType的访问权限为XmlAccessType.NONE,如果在java的成员变量上使用了

    @XmlElement或@XmlAttribute注解,这些成员变量依然可以映射到xml文件。

    @XmlTransient用于标示在由java对象映射xml时,忽略此属性,在生成的xml文件中不出现此元素。

    @XmlAttribute:该属性作为类xml节点的attribute

     @XmlElement:该属性作为xml的element,且可以增加属性(name="NewElementName"),那么生成的xml串的elment的标签是NewElementName

     @XmlElementWrapper 修改节点的名字


    修改xml的namespace 需要再package-info.java文件中添加注解

    @XmlSchema(
    namespace="http://hyj.cn",
    elementFormDefault=XmlNsForm.QUALIFIED)

    package com.hyj.xml;
    import javax.xml.bind.annotation.*;


     @XmlJavaTypeAdapter
    JAXB能够内置支持List和Set集合,但是对于Map的支持需要自己处理
    继承自抽象类XmlAdapter<ValueType,BoundType> 重写marshal和unmarshal的方法
    类型参数:
        BoundType - JAXB 不知道如何处理的一些类型。编写一个适配器,以便允许通过 ValueType 将此类型用作内存表示形式。
        ValueType - JAXB 无需其他操作便知道如何处理的类型。


    展开全文
  • java将数据库表反射成java实体类xml中sql语句,如果使用的mybatis,生成基于原生的xml中sql操作语句,如insert、select、update语句。
  • java实体类xml之间的转换

    千次阅读 2018-06-25 16:45:24
    一、XStream的用途 ... XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
    一、XStream的用途

             XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。 

             因此XML常用于数据交换、对象序列化(这种序列化和Java对象的序列化技术有着本质的区别)。

            Stream对象相当Java对象和XML之间的转换器,转换过程是双向的。创建XSteam对象的方式很简单,只需要new XStream()即

             可。
             Java到xml,用toXML()方法。
             Xml到Java,用fromXML()方法。

    二、

           在没有任何设置默认情况下,java到xml的映射,是java成员名对应xml的元素名,java类的全名对应xml根元素的名字。而实际中,往

          往是xml和java类都有了,要完成相互转换,必须进行别名映射。

          别名配置包含三种情况:
          1、类别名,用alias(String name, Class type)。
          2、类成员别名,用aliasField(String alias, Class definedIn, String fieldName)
          3、类成员作为属性别名,用 aliasAttribute(Class definedIn, String attributeName, String alias),单独命名没有意义,还要通过 

              useAttributeFor(Class definedIn, String fieldName) 应用到某个类上。
              别名的配置是非常重要的,但是其中有些细节问题很重要,在例子中会专门做详细说明。

             另外还有不太常用的方法:
             addImplicitCollection(Class ownerType, String fieldName),去掉集合类型生成xml的父节点。
             registerConverter(Converter converter) ,注册一个转换器。

    三、     

    如果这些基本的操作还不能满足你应用的需求,XStream提供丰富的扩展点。你可以实现自己的转换器。还可以利用XStream完成更负责的功能,比如输出其他非xml格式的数据,还可以输出html,还支持XML Dom类型数据,这些应用起来稍微复杂些。当然这些不是XStream应用的重点,也不用理会,真正需要的时候再查看API和源码研究研究。

    XStream的优点很多,但是也有一些小bug,比如在定义别名中的下划线“_”转换为xml后会变成“__”这个符号,很变态。因此,尽量避免在别名中实用任何符号,却是需要下划线的时候,可以考虑实用连接符“-”,这个没有问题。

    另外,我们的Java Bean中,常常有一些常量,在转换过程,XStream也会将这些常量转换过去,形成常量的xml节点,这显然不是想要的结果,对于常量字段,就不做转换了。

    四、

         简单例子:

    package test;

    import java.util.List;

    public class Person {
     private String name;
     private String age;
     private Profile profile;
     private List<Address> addlist;

     public Person(String name, String age, Profile profile,
       List<Address> addlist) {
      this.name = name;
      this.age = age;
      this.profile = profile;
      this.addlist = addlist;
     }
        public Person(){
         
        }
     public String toString() {
      return “Person{” + “name=’” + name + ‘\” + “, age=’” + age + ‘\”
        + “, profile=” + profile + “, addlist=” + addlist + ‘}’;
     }
    }

    //=======================================================

    package test;

    public class Address {
     private String add;
     private String zipcode;

     public Address(String add, String zipcode) {
      this.add = add;
      this.zipcode = zipcode;
     }

     public String toString() {
      return “Address{” + “add=’” + add + ‘\” + “, zipcode=’” + zipcode
        + ‘\” + ‘}’;
     }
    }

    //======================================================

    package test;

    public class Profile {
     private String job;
     private String tel;
     private String remark;

     public Profile(String job, String tel, String remark) {
      this.job = job;
      this.tel = tel;
      this.remark = remark;
     }

     public String toString() {
      return “Profile{” + “job=’” + job + ‘\” + “, tel=’” + tel + ‘\”
        + “, remark=’” + remark + ‘\” + ‘}’;
     }
    }

    //==========================================================

    package test;

    import java.util.ArrayList;
    import java.util.List;

    import com.thoughtworks.xstream.XStream;

    public class XStreamTest {

     public static void main(String args[]) {
      test();
     }

     public static void test() {
      System.out
        .println(“———-XStream学习:http://lavasoft.blog.51cto.com———-“);
      // 目标对象
      Address address1 = new Address(“郑州市经三路”, “450001”);
      Address address2 = new Address(“西安市雁塔路”, “710002”);
      List<Address> addList = new ArrayList<Address>();
      addList.add(address1);
      addList.add(address2);
      Profile profile = new Profile(“软件工程师”, “13512129933”, “备注说明”);
      Person person = new Person(“熔岩”, “27”, profile, addList);

      // 转换装配
      XStream xStream = new XStream();
      output(0, xStream, person);
      /************** 设置类别名 ****************/
      xStream.alias(“PERSON”, test.Person.class);
      xStream.alias(“PROFILE”, test.Profile.class);
      xStream.alias(“ADDRESS”, test.Address.class);
      output(1, xStream, person);

      /************* 设置类成员的别名 ***************/
      // 设置Person类的name成员别名Name
      xStream.aliasField(“Name”, Person.class, “name”);
      /*
       * [注意] 设置Person类的profile成员别名PROFILE,这个别名和Profile类的别名一致,
       * 这样可以保持XStream对象可以从profile成员生成的xml片段直接转换为Profile成员,
       * 如果成员profile的别名和Profile的别名不一致,则profile成员生成的xml片段不可
       * 直接转换为Profile对象,需要重新创建XStream对象,这岂不给自己找麻烦?
       */
      xStream.aliasField(“PROFILE”, test.Person.class, “profile”);
      xStream.aliasField(“ADDLIST”, test.Person.class, “addlist”);
      xStream.aliasField(“Add”, test.Address.class, “add”);
      xStream.aliasField(“Job”, test.Profile.class, “job”);
      output(2, xStream, person);

      /******* 设置类成员为xml一个元素上的属性 *******/
      xStream.useAttributeFor(Address.class, “zipcode”);
      output(3, xStream, person);
      /************* 设置属性的别名 ***************/
      xStream.aliasAttribute(Address.class, “zipcode”, “Zipcode”);
      output(4, xStream, person);
      /************* 将xml转为java对象 ******× ****/
       String person_xml = “<PERSON>\n” + “  <Name>熔岩</Name>\n”
       + “  <age>27</age>\n” + “  <PROFILE>\n”
       + “    <Job>软件工程师</Job>\n” + “    <tel>13512129933</tel>\n”
       + “    <remark>备注说明</remark>\n” + “  </PROFILE>\n”
       + “  <ADDLIST>\n” + “    <ADDRESS Zipcode=\”450001\”>\n”
       + “      <Add>郑州市经三路</Add>\n” + “    </ADDRESS>\n”
       + “    <ADDRESS Zipcode=\”710002\”>\n”
       + “      <Add>西安市雁塔路</Add>\n” + “    </ADDRESS>\n”
       + “  </ADDLIST>\n” + “</PERSON>”;
       String profile_xml = “  <PROFILE>\n” + “    <Job>软件工程师</Job>\n”
       + “    <tel>13512129933</tel>\n”
       + “    <remark>备注说明</remark>\n” + “  </PROFILE>”;
       String address_xml = “    <ADDRESS Zipcode=\”710002\”>\n”
       + “      <Add>西安市雁塔路</Add>\n” + “    </ADDRESS>”;
      
       // 同样实用上面的XStream对象xStream
       System.out.println(xStream.fromXML(person_xml).toString());
       System.out.println(xStream.fromXML(profile_xml).toString());
       System.out.println(xStream.fromXML(address_xml).toString());
     }

     public static void output(int i, XStream xStream, Object obj) {
      String xml = xStream.toXML(obj);
      System.out.println(“>>>第[ ” + i + “]次输出\n”);
      System.out.println(xml + “\n”);
     }
    }

    //=======================================================

    ———-XStream学习:http://lavasoft.blog.51cto.com———-
    >>>第[ 0]次输出

    <test.Person>
      <name>熔岩</name>
      <age>27</age>
      <profile>
        <job>软件工程师</job>
        <tel>13512129933</tel>
        <remark>备注说明</remark>
      </profile>
      <addlist>
        <test.Address>
          <add>郑州市经三路</add>
          <zipcode>450001</zipcode>
        </test.Address>
        <test.Address>
          <add>西安市雁塔路</add>
          <zipcode>710002</zipcode>
        </test.Address>
      </addlist>
    </test.Person>

    >>>第[ 1]次输出

    <PERSON>
      <name>熔岩</name>
      <age>27</age>
      <profile>
        <job>软件工程师</job>
        <tel>13512129933</tel>
        <remark>备注说明</remark>
      </profile>
      <addlist>
        <ADDRESS>
          <add>郑州市经三路</add>
          <zipcode>450001</zipcode>
        </ADDRESS>
        <ADDRESS>
          <add>西安市雁塔路</add>
          <zipcode>710002</zipcode>
        </ADDRESS>
      </addlist>
    </PERSON>

    >>>第[ 2]次输出

    <PERSON>
      <Name>熔岩</Name>
      <age>27</age>
      <PROFILE>
        <Job>软件工程师</Job>
        <tel>13512129933</tel>
        <remark>备注说明</remark>
      </PROFILE>
      <ADDLIST>
        <ADDRESS>
          <Add>郑州市经三路</Add>
          <zipcode>450001</zipcode>
        </ADDRESS>
        <ADDRESS>
          <Add>西安市雁塔路</Add>
          <zipcode>710002</zipcode>
        </ADDRESS>
      </ADDLIST>
    </PERSON>

    >>>第[ 3]次输出

    <PERSON>
      <Name>熔岩</Name>
      <age>27</age>
      <PROFILE>
        <Job>软件工程师</Job>
        <tel>13512129933</tel>
        <remark>备注说明</remark>
      </PROFILE>
      <ADDLIST>
        <ADDRESS zipcode=”450001”>
          <Add>郑州市经三路</Add>
        </ADDRESS>
        <ADDRESS zipcode=”710002”>
          <Add>西安市雁塔路</Add>
        </ADDRESS>
      </ADDLIST>
    </PERSON>

    >>>第[ 4]次输出

    <PERSON>
      <Name>熔岩</Name>
      <age>27</age>
      <PROFILE>
        <Job>软件工程师</Job>
        <tel>13512129933</tel>
        <remark>备注说明</remark>
      </PROFILE>
      <ADDLIST>
        <ADDRESS Zipcode=”450001”>
          <Add>郑州市经三路</Add>
        </ADDRESS>
        <ADDRESS Zipcode=”710002”>
          <Add>西安市雁塔路</Add>
        </ADDRESS>
      </ADDLIST>
    </PERSON>

     

                </div>
    
       尊重原创, 转载自:https://blog.csdn.net/scyatcs/article/details/12625099
    
    展开全文
  • NULL 博文链接:https://675990021.iteye.com/blog/2276670
  • XML文件数据转换为JAVA实体类

    千次阅读 2018-07-09 13:47:59
    以城市列表为例.citylist.xml&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;c c1="0"&gt; &lt;d d1="101280101" d2="广州" d3="...

    以城市列表为例.

    citylist.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <c c1="0">
    <d d1="101280101" d2="广州" d3="guangzhou" d4="广东"/>
    <d d1="101280102" d2="番禺" d3="panyu" d4="广东"/>
    <d d1="101280103" d2="从化" d3="conghua" d4="广东"/>
    <d d1="101280104" d2="增城" d3="zengcheng" d4="广东"/>
    <d d1="101280105" d2="花都" d3="huadu" d4="广东"/>
    <d d1="101280201" d2="韶关" d3="shaoguan" d4="广东"/>
    <d d1="101280202" d2="乳源" d3="ruyuan" d4="广东"/>
    <d d1="101280203" d2="始兴" d3="shixing" d4="广东"/>
    <d d1="101280204" d2="翁源" d3="wengyuan" d4="广东"/>
    <d d1="101280205" d2="乐昌" d3="lechang" d4="广东"/>
    <d d1="101280206" d2="仁化" d3="renhua" d4="广东"/>
    <d d1="101280207" d2="南雄" d3="nanxiong" d4="广东"/>
    <d d1="101280208" d2="新丰" d3="xinfeng" d4="广东"/>
    <d d1="101280209" d2="曲江" d3="qujiang" d4="广东"/>
    <d d1="101280210" d2="浈江" d3="chengjiang" d4="广东"/>
    <d d1="101280211" d2="武江" d3="wujiang" d4="广东"/>
    <d d1="101280301" d2="惠州" d3="huizhou" d4="广东"/>
    <d d1="101280302" d2="博罗" d3="boluo" d4="广东"/>
    <d d1="101280303" d2="惠阳" d3="huiyang" d4="广东"/>
    <d d1="101280304" d2="惠东" d3="huidong" d4="广东"/>
    <d d1="101280305" d2="龙门" d3="longmen" d4="广东"/>
    <d d1="101280401" d2="梅州" d3="meizhou" d4="广东"/>
    <d d1="101280402" d2="兴宁" d3="xingning" d4="广东"/>
    <d d1="101280403" d2="蕉岭" d3="jiaoling" d4="广东"/>
    <d d1="101280404" d2="大埔" d3="dabu" d4="广东"/>
    <d d1="101280406" d2="丰顺" d3="fengshun" d4="广东"/>
    <d d1="101280407" d2="平远" d3="pingyuan" d4="广东"/>
    <d d1="101280408" d2="五华" d3="wuhua" d4="广东"/>
    <d d1="101280409" d2="梅县" d3="meixian" d4="广东"/>
    <d d1="101280501" d2="汕头" d3="shantou" d4="广东"/>
    <d d1="101280502" d2="潮阳" d3="chaoyang" d4="广东"/>
    <d d1="101280503" d2="澄海" d3="chenghai" d4="广东"/>
    <d d1="101280504" d2="南澳" d3="nanao" d4="广东"/>
    <d d1="101280601" d2="深圳" d3="shenzhen" d4="广东"/>
    <d d1="101280701" d2="珠海" d3="zhuhai" d4="广东"/>
    <d d1="101280702" d2="斗门" d3="doumen" d4="广东"/>
    <d d1="101280703" d2="金湾" d3="jinwan" d4="广东"/>
    <d d1="101280800" d2="佛山" d3="foshan" d4="广东"/>
    <d d1="101280801" d2="顺德" d3="shunde" d4="广东"/>
    <d d1="101280802" d2="三水" d3="sanshui" d4="广东"/>
    <d d1="101280803" d2="南海" d3="nanhai" d4="广东"/>
    <d d1="101280804" d2="高明" d3="gaoming" d4="广东"/>
    <d d1="101280901" d2="肇庆" d3="zhaoqing" d4="广东"/>
    <d d1="101280902" d2="广宁" d3="guangning" d4="广东"/>
    <d d1="101280903" d2="四会" d3="sihui" d4="广东"/>
    <d d1="101280905" d2="德庆" d3="deqing" d4="广东"/>
    <d d1="101280906" d2="怀集" d3="huaiji" d4="广东"/>
    <d d1="101280907" d2="封开" d3="fengkai" d4="广东"/>
    <d d1="101280908" d2="高要" d3="gaoyao" d4="广东"/>
    <d d1="101281001" d2="湛江" d3="zhanjiang" d4="广东"/>
    <d d1="101281002" d2="吴川" d3="wuchuan" d4="广东"/>
    <d d1="101281003" d2="雷州" d3="leizhou" d4="广东"/>
    <d d1="101281004" d2="徐闻" d3="xuwen" d4="广东"/>
    <d d1="101281005" d2="廉江" d3="lianjiang" d4="广东"/>
    <d d1="101281006" d2="赤坎" d3="chikan" d4="广东"/>
    <d d1="101281007" d2="遂溪" d3="suixi" d4="广东"/>
    <d d1="101281008" d2="坡头" d3="potou" d4="广东"/>
    <d d1="101281009" d2="霞山" d3="xiashan" d4="广东"/>
    <d d1="101281010" d2="麻章" d3="mazhang" d4="广东"/>
    <d d1="101281101" d2="江门" d3="jiangmen" d4="广东"/>
    <d d1="101281103" d2="开平" d3="kaiping" d4="广东"/>
    <d d1="101281104" d2="新会" d3="xinhui" d4="广东"/>
    <d d1="101281105" d2="恩平" d3="enping" d4="广东"/>
    <d d1="101281106" d2="台山" d3="taishan" d4="广东"/>
    <d d1="101281107" d2="蓬江" d3="pengjiang" d4="广东"/>
    <d d1="101281108" d2="鹤山" d3="heshan" d4="广东"/>
    <d d1="101281109" d2="江海" d3="jianghai" d4="广东"/>
    <d d1="101281201" d2="河源" d3="heyuan" d4="广东"/>
    <d d1="101281202" d2="紫金" d3="zijin" d4="广东"/>
    <d d1="101281203" d2="连平" d3="lianping" d4="广东"/>
    <d d1="101281204" d2="和平" d3="heping" d4="广东"/>
    <d d1="101281205" d2="龙川" d3="longchuan" d4="广东"/>
    <d d1="101281206" d2="东源" d3="dongyuan" d4="广东"/>
    <d d1="101281301" d2="清远" d3="qingyuan" d4="广东"/>
    <d d1="101281302" d2="连南" d3="liannan" d4="广东"/>
    <d d1="101281303" d2="连州" d3="lianzhou" d4="广东"/>
    <d d1="101281304" d2="连山" d3="lianshan" d4="广东"/>
    <d d1="101281305" d2="阳山" d3="yangshan" d4="广东"/>
    <d d1="101281306" d2="佛冈" d3="fogang" d4="广东"/>
    <d d1="101281307" d2="英德" d3="yingde" d4="广东"/>
    <d d1="101281308" d2="清新" d3="qingxin" d4="广东"/>
    <d d1="101281401" d2="云浮" d3="yunfu" d4="广东"/>
    <d d1="101281402" d2="罗定" d3="luoding" d4="广东"/>
    <d d1="101281403" d2="新兴" d3="xinxing" d4="广东"/>
    <d d1="101281404" d2="郁南" d3="yunan" d4="广东"/>
    <d d1="101281406" d2="云安" d3="yunan" d4="广东"/>
    <d d1="101281501" d2="潮州" d3="chaozhou" d4="广东"/>
    <d d1="101281502" d2="饶平" d3="raoping" d4="广东"/>
    <d d1="101281503" d2="潮安" d3="chaoan" d4="广东"/>
    <d d1="101281601" d2="东莞" d3="dongguan" d4="广东"/>
    <d d1="101281701" d2="中山" d3="zhongshan" d4="广东"/>
    <d d1="101281801" d2="阳江" d3="yangjiang" d4="广东"/>
    <d d1="101281802" d2="阳春" d3="yangchun" d4="广东"/>
    <d d1="101281803" d2="阳东" d3="yangdong" d4="广东"/>
    <d d1="101281804" d2="阳西" d3="yangxi" d4="广东"/>
    <d d1="101281901" d2="揭阳" d3="jieyang" d4="广东"/>
    <d d1="101281902" d2="揭西" d3="jiexi" d4="广东"/>
    <d d1="101281903" d2="普宁" d3="puning" d4="广东"/>
    <d d1="101281904" d2="惠来" d3="huilai" d4="广东"/>
    <d d1="101281905" d2="揭东" d3="jiedong" d4="广东"/>
    <d d1="101282001" d2="茂名" d3="maoming" d4="广东"/>
    <d d1="101282002" d2="高州" d3="gaozhou" d4="广东"/>
    <d d1="101282003" d2="化州" d3="huazhou" d4="广东"/>
    <d d1="101282004" d2="电白" d3="dianbai" d4="广东"/>
    <d d1="101282005" d2="信宜" d3="xinyi" d4="广东"/>
    <d d1="101282006" d2="茂港" d3="maogang" d4="广东"/>
    <d d1="101282101" d2="汕尾" d3="shanwei" d4="广东"/>
    <d d1="101282102" d2="海丰" d3="haifeng" d4="广东"/>
    <d d1="101282103" d2="陆丰" d3="lufeng" d4="广东"/>
    <d d1="101282104" d2="陆河" d3="luhe" d4="广东"/>
    </c>

    实体类映射

    @XmlRootElement(name = "d")
    @XmlAccessorType(XmlAccessType.FIELD)
    public class City {
    	@XmlAttribute(name = "d1")
    	private String cityId;
    	
    	@XmlAttribute(name = "d2")
    	private String cityName;
    	
    	@XmlAttribute(name = "d3")
    	private String cityCode;
    	
    	@XmlAttribute(name = "d4")
    	private String province;
    
    	public String getCityId() {
    		return cityId;
    	}
    
    	public void setCityId(String cityId) {
    		this.cityId = cityId;
    	}
    
    	public String getCityName() {
    		return cityName;
    	}
    
    	public void setCityName(String cityName) {
    		this.cityName = cityName;
    	}
    
    	public String getCityCode() {
    		return cityCode;
    	}
    
    	public void setCityCode(String cityCode) {
    		this.cityCode = cityCode;
    	}
    
    	public String getProvince() {
    		return province;
    	}
    
    	public void setProvince(String province) {
    		this.province = province;
    	}
    }

    实体类集合映射

    @XmlRootElement(name = "c")
    @XmlAccessorType(XmlAccessType.FIELD)
    public class CityList {
    	@XmlElement(name = "d")
    	private List<City> cityList;
    
    	public List<City> getCityList() {
    		return cityList;
    	}
    
    	public void setCityList(List<City> cityList) {
    		this.cityList = cityList;
    	}
    }

    转换工具类

    public class XmlBuilder {
    
    	/**
    	 * 将XML转为指定的POJO
    	 * @param clazz
    	 * @param xmlStr
    	 * @return
    	 * @throws Exception
    	 */
    	public static Object xmlStrToOject(Class<?> clazz, String xmlStr) throws Exception {
    		Object xmlObject = null;
    		Reader reader = null;
    		JAXBContext context = JAXBContext.newInstance(clazz);
    		
    		// XML 转为对象的接口
    		Unmarshaller unmarshaller = context.createUnmarshaller();
    		
    		reader = new StringReader(xmlStr);
    		xmlObject = unmarshaller.unmarshal(reader);
    		
    		if (null != reader) {
    			reader.close();
    		}
    		
    		return xmlObject;
    	}
    }

    转换方法

    public List<City> listCity() throws Exception {
    		// 读取XML文件
    		Resource resource = new ClassPathResource("citylist.xml");
    		BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream(), "utf-8"));
    		StringBuffer buffer = new StringBuffer();
    		String line = "";
    		
    		while ((line = br.readLine()) !=null) {
    			buffer.append(line);
    		}
    		
    		br.close();
    		
    		// XML转为Java对象
    		CityList cityList = (CityList)XmlBuilder.xmlStrToOject(CityList.class, buffer.toString());
    		return cityList.getCityList();
    	}

    展开全文
  • xml文件自动转成java对象工具,生成xsd文件,xsd转java
  • 之前找了好多java对象转xml的代码,有的需要加注解很啰嗦,有的遇到结构复杂的对象就报错;没办法,只好自己研究了……
  • java后台从数据库读取 数据,封装到list集合,控制层转化为XML格式数据
  • 根据实体类生成xml文件
  • 主要是用来实体类xml的相互转换, 如果需要将xml存进数据库,oracle建议使用 clob类型 这样直接可以当成字符串来使用首先需要引用包 需要的jar包如下: xpp3_min-1.1.4c.jar xstream-1.3.jar或者使用maven ...
  • java进行xml实体类

    千次阅读 2019-03-15 21:25:47
    18年入职杭银,因业务需要,要与xml数据打交道.需求是进行xml解析.然后就用到了XStream与Jsoup解析xml的工具.这里总结一下. 1:相关依赖: &amp;lt;!--xstream相关依赖--&amp;gt; &amp;lt;dependency&...
  • java实体转xml

    千次阅读 2017-11-23 17:02:47
    java实体转xml(jdk自带的javax.xml.bind.JAXBContext将对象和xml字符串进行相互转换)
  • 自动生成实体类xml

    2015-07-15 09:42:02
    mybatis自动导入实体类xml工具包 自动生成实体类xml 配置的过程在我的博文里有
  • 1、在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类xml互相转换 2、可以使用jersey框架实现WebService接口(resetful方式) 2、Demo 2.1 student.java 实体类,包含list(set...
  • Java开发中xml和javabean实体类之间的相互转换 目录 Java开发中xml和javabean实体类之间的相互转换 1.xml转javabean 1.1 xml格式如下,只有一层的: 1.2有两层的xml, 2.vo转xml 1.xml转javabean 1.1 xml...
  • 根据需要将xml格式的代码解析LIST数组,可以解2层和3层的 根据需要传送不同节点数据就可以了。
  • Java代码实体类生成SQL语句(Java实体类转数据库)

    万次阅读 多人点赞 2021-07-19 17:43:04
    有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可。 代码如下: ...
  • java xml实体对象 互相转换

    千次阅读 2019-01-10 16:07:03
    最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由。...
  • 将trang.jar和要解析的xml放在同一目录,在当前文件下执行如下命令,其中users.xsd为要生成的xsd文件名 java -jar trang.jar users.xml users.xsd 执行完上述命令后会在当前文件生成users.xsd,然后执行如下命令,...
  • 使用jaxb转换XML test.xml文件示例 <?xml version="1.0" encoding="UTF-8"?> <users> <user id="1"> <name>张三</name> <age>18</age> </user> ...
  • 这两天工作中用到web service来推送数据,涉及到xml的和java实体类的转换,总结一下理解和碰到的问题。 (一)、宝宝想得到下面这样的两个xml类型的字符串anth和args,来推送给第三方:&lt;?xml version="...
  • 使用java jdk的JAXB技术实现xmljava对象互相转化...•JAXBContext,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java对象序列化为XML数据。 •Unmarshaller接口,将XML数据反序列化为Java对象。
  • 简单Java类XML之间的转换

    千次阅读 2018-09-17 14:25:00
    需要的jar包:xmlpull_1_0_5.jar,... 1、工具XstreamUtil    package com.learn.util;  import com.thoughtworks.xstream.XStream;  import com.thoughtworks.xstream.io.xml.DomDriver;  /** *...
  • 复杂的xml转化为java实体

    千次阅读 2018-09-19 11:11:10
    xml version="1.0" encoding="utf-8"?&gt;  &lt;alipay&gt;  &lt;is_success&gt;F&lt;/is_success&gt;  &lt;error&gt;TRADE_NOT_EXIS
  • 通过Xml报文生成Java实体类

    千次阅读 2019-05-31 17:10:50
    通过Xml报文生成Java实体类 ...通过trang.jar将Xml转成Xsd(xsd文件就是xml的约束文件),再用 Java 自带的 JAXB 工具去生成 Java实体类 步骤如下: 将xml转换xsd 方法一:通过trang.jar转换 java -jar t...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,736
精华内容 84,694
关键字:

java实体类转成xml

java 订阅