# xml通用解析 **Repository Path**: xiaongmao/parseData ## Basic Information - **Project Name**: xml通用解析 - **Description**: xml转java对象 针对于所有的xml,只需提供bean就可以转成对象 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-08-11 - **Last Updated**: 2022-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xml通用解析 #### 介绍 xml转java对象 针对于所有的xml,只需提供bean就可以转成对象 #### HelloWorld 1. src\main\resources\xml 中提供了两个测试xml(aaa_country.xml,bbb_books.xml)。**xml名称不能修改** 2. 启动类 src\main\java\com\whh\Start.java 。 - **解析本地xml:** 修改xml路径,直接运行com.whh.ParseLocalXml#main该方法。可以看到控制台输出的java对象信息。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0725/153909_066e5cdf_8278176.png "image-20210725145018995.png") - **解析上传的xml**: 1. 将测试xml保存本地 2. 启动com.whh.Start#main。 3. 打开浏览器 输入 http://localhost:8080/ 4. 在界面选择文件上传,解析结果会显示到界面。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0725/154007_e064ec96_8278176.png "image-20210725144926573.png") #### 使用说明 1. 注解说明: - @Element注解: 可用于类,方法,字段。 - 用于类上:表示该元素有子节点,并且需要说明元素的层级 ,元素归属的文件标识(因为不同一个xml中元素可用重复)。 - 用于方法上:说明该元素没有子节点,通过方法赋值。(对于数据类型需要转换的,xml中解析出来的内容,默认String) - 用于字段上: 说明该元素没有子节点,通过字段赋值。 - @Attribute注解:用于方法,字段上 - 用于方法上:说明该属性通过方法赋值。(对于数据类型需要转换的,xml中解析出来的内容,默认String) - 用于字段上: 说明该属性通过字段赋值。 2. 实现自己的xml解析 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0725/154050_cf8d3bb7_8278176.png "image-20210725151515910.png") 1. 定义java类,实现EntryBaseInterface接口,通过该接口,可以识别定义的bean是否属于xml解析的实体。 2. 实现 com.whh.parseData.parseXml.appoint.XmlFileDefaultImpl#getXmlFileType方法,用于区别文件的种类。默认取文件名称前3个字母作为文件标识。注解@Element需要文件标识。 3. 在字段,类上,方法上使用注解@Element,@Attribute。