实现类 import java.io.ByteArrayInputStream; import java.io.InputStream; import java.lang.reflect.Method; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class ReadXMLUtil<T> { public T toEntity(Class<T> clazz, String xmlStr) throws Exception { // System.out.println(xmlStr); T t = null; Document doc = null; DocumentBuilder builder = null; // parse the xmlStr to DOM document DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); InputStream is = null; if (xmlStr.indexOf("encoding=\"GBK\"") >= 0) { is = new ByteArrayInputStream(xmlStr.getBytes("GBK")); } else { is = new ByteArrayInputStream(xmlStr.getBytes("utf-8")); } doc = builder.parse(is); if (doc == null) return null; t = clazz.newInstance(); Method[] methods = clazz.getMethods(); // read value from document by reflection for (Method method : methods) { if (!method.getName().substring(0, 3).equals("set")) { continue; } String methodName = method.getName(); String propertyName; if ("setLoginNum".equals(methodName)) { propertyName = methodName.substring(3, 4) + methodName.substring(4, method.getName().length()); }else { propertyName = methodName.substring(3, 4).toLowerCase() + methodName.substring(4, method.getName().length()); } try { NodeList nl = doc.getElementsByTagName(propertyName); if (nl.getLength() < 1) continue; Node n = nl.item(0); if (n == null) continue; String value = n.getTextContent(); method.invoke(t, value); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); throw e; } } return t; } 调用方法: ReadXMLUtil<UserAuth> readXML = new ReadXMLUtil<UserAuth>(); userAuth = readXML.toEntity(UserAuth.class, respXML);
相关推荐
在Java编程中,我们经常需要将XML数据转换为Java对象,也就是所谓的Java Bean,以便于处理和操作。Java Bean是符合一定规范的Java类,通常具有getter和setter方法,用于封装数据。 XML到Java Bean的转换可以手动...
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
在Java开发中,XML(可扩展标记语言)和Bean之间的互相转换是一项常见的任务,尤其是在处理配置文件、数据交换或者序列化场景中。本篇将详细阐述XML与Bean之间的转换过程,以及相关的Java技术。 首先,XML是一种...
要将XML字符串转换为Bean对象,我们首先需要创建一个Bean类,这个类的属性与XML节点相对应。例如,如果我们有以下XML字符串: ```xml <name>Yang Yong <age>30 <email>yangyong@example.com</email> ``` 我们...
在XML到Bean的转换过程中,通常需要以下步骤: 1. **定义Java Bean类**:首先,我们需要创建一个Java类,该类的属性对应于XML文件中的元素。这些属性通常用`@XmlElement`注解,表示它们将被映射到XML元素。如果属性...
- 使用`toXML()`方法将Java Bean转换为XML字符串。 - 使用`fromXML()`方法将XML字符串转换为Java Bean。 3. **示例**: ```java import com.thoughtworks.xstream.XStream; public class XStreamDemo { ...
在Java开发中,数据对象(通常称为Bean)与XML之间的转换是常见的需求,尤其是在处理配置文件、序列化或网络通信时。Betwixt是一个Apache软件基金会提供的库,专门用于XML与Java对象之间的绑定,使得我们可以方便地...
在提供的文件`ClassToXml.java`和`CC.java`中,很可能是实现了XML到Bean或Bean到XML转换的示例代码。具体实现细节需要查看源代码才能理解。通常,这些类会包含对JAXB API的调用,如创建JAXBContext、Unmarshaller和...
在给定的"jaxb XMl和BEAN互转实例(内含jar包)"中,我们有一个实用工具类,它简化了使用JAXB进行XML与BEAN对象之间转换的过程。 在Java编程中,BEAN通常指的是符合JavaBeans规范的简单Java类,它们通常包含getter...
JAXB是Java标准API,它提供了将XML文档与Java对象之间进行自动转换的能力,极大地简化了XML的处理。 首先,我们需要理解JAXB的工作原理。JAXB基于Java反射机制,通过在Java类上使用特定的注解(如@XmlRootElement、...
4. **Unmarshalling**: 反之,将XML转换回Java对象的过程称为 unmarshalling。这可以通过使用JAXB的`Unmarshaller`接口完成。 **二、JAXB的使用步骤** 1. **创建Java Bean**: 首先,定义一个或多个Java类,它们...
在将XML转换为Bean的过程中,DOM4J会遍历XML的元素树,根据元素的标签名映射到Bean的字段,元素的值则赋给对应的字段。如果元素是列表类型,DOM4J会创建一个集合,并将子元素转化为相应的Bean对象添加到集合中。对于...
通过这个入门实例,你将掌握XMLBean的基本操作,包括如何生成Java类,如何从XML到Java对象的转换,以及反之。这将为你在实际项目中处理XML数据提供有力的支持。继续深入学习XMLBean,你会发现更多高级特性和用法,如...
标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并将其映射到Java Bean对象中。这个过程在处理大量结构化数据时特别有用,例如导入数据库或进行数据分析。 首先,我们需要理解...
XMLBean是Apache软件基金会开发的一款工具,主要用于将XML Schema(XSD)转换为Java Bean类,使得开发者可以方便地在Java应用中处理XML数据。Eclipse是一个广泛使用的集成开发环境(IDE),支持多种编程语言,包括...
这个工具类的目标就是利用xStream的功能,方便地将XML文档转换为Java Bean对象,以及将Bean对象转换为XML字符串。 xStream的核心思想是通过反射和类型映射来实现对象与XML之间的转换。它使用一种称为“annoation”...
5. **博文链接**:在阅读和实践过程中,可以参考以下博文获取更深入的理解:[《利用digester将xml转换为bean》](https://bazhuang.iteye.com/blog/188518)。这个链接提供了详细的示例代码和解释,有助于进一步学习和...
本教程将深入探讨如何在Java中实现XML到Bean的转换,并提供实际运行的示例。 首先,我们需要了解Java的API——JAXB(Java Architecture for XML Binding),这是一个用于在Java对象和XML之间进行映射的标准库。JAXB...
这使得XML文档能够被自动解析成Java对象,反之亦然。 **1. JAXB的使用步骤** (1) **创建Java类(javabean)** 首先,定义一个Java类,这个类代表XML文档的结构。我们可以使用注解(如`@XmlRootElement`、`@...