(刚才发布的居然只剩下一半内容,另一半不知道去哪了,我悲剧啊,姐姐的!随便写点了!)
最近对xml的操作用得比较多,所以记录一些东西,方便以后使用,这个大家也可以看看,如果有不足之处请及时指出!
主要针对自己写给自己的。
String inString="<?xml version='1.0' encoding='GB2312'?>"
+"<Person name='王二小' sex='男'>"
+ "<Address>"
+ "<city>桂林</city>"
+ "<street>胜利路</street>"
+ "</Address>"
+ "<Address>"
+ "<city>桂林</city>"
+ "<street>胜利路</street>"
+ "</Address>"
+ "<Address>"
+ "<city>桂林</city>"
+ "<street>胜利路</street>"
+ "</Address>"
+ "<Address>"
+ "<city>桂林</city>"
+ "<street>胜利路</street>"
+ "</Address>"
+ "<phone_number>137138139</phone_number>"
+ "<number>450305211</number>"
+"</Person>";
假设一个xml的内容如下面所示,我们现在要来解析这么个xml,里面的内容有这么几个特点,address这个标签重复出现,有些属性在标签里面,有些不在。
读取xml
如果xml格式中出现"<phone_number>137138139</phone_number>"样式,则
if("phone_number".equals(reader.getNodeName())){
person.setPhonenumber(reader.getValue());
}
如果xml格式出现"<Person name='王二小' sex='男'>"样式,则
person.setName(reader.getAttribute("name"));
person.setSex(reader.getAttribute("sex"));
写入xml
如果xml格式中出现"<phone_number>137138139</phone_number>"样式,则
writer.startNode("phone_number");
writer.setValue(person.getPhonenumber ()==null?"":person.getPhonenumber());
writer.endNode();
如果xml格式出现"<Person name='王二小' sex='男'>"样式,则
writer.addAttribute("name", person.getName()==null?"":person.getName());
writer.addAttribute("sex", person.getSex()==null?"":person.getSex());
在写入xml的时候一定要判断写入的值是否为空,如果插入的值是null系统会报错的所以要进行判断。
其他
1.当一个标签出现多次的时候我用的是while来循环操作,在类中也要用链表来保存
2.该过程分为3个部分,一个是标签对应的类(对象),比如代码里的Person;一个是操作xml的类,比如converter结尾的那个类;一个是调操作的类,我把这个类写到Person中去了。
3.这个是对序列化类的设定,设为false则不执行该类,我一般直接设置true,不管是哪个类
public boolean canConvert(Class arg0) {
return true;
}
4.项目需要导入exstream.jar这个包
貌似没了,我也忘记还要写什么了,先这样吧,有错再改。
(代码是可用的,直接导入)
适合初级研究
不用谢!
分享到:
相关推荐
XStream库提供了一个简单、直观的方式来实现这种转换,使得XML序列化和反序列化变得非常方便。本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一...
XStream不仅支持XML,还内置了对JSON的支持。只需添加额外的转换器,如使用Jettison库,即可实现JavaBean与JSON的转换。 5. **实战演示** 在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何...
在Java编程语言中,XStream库提供了一个简单且强大的机制,用于将Java对象序列化为XML,反之亦然。这使得在存储数据、传输数据或持久化对象时非常方便。本教程将深入探讨XStream库及其在Java中的使用,通过实际的...
### Xstream:Java与XML之间的桥梁 Xstream是一款强大的Java库,用于实现Java对象与XML文档之间的转换。这种转换不仅支持基本数据类型,也适用于复杂的数据结构,包括自定义类和集合。Xstream的设计旨在简化序列化...
对于生产环境,启用安全模式可以防止XSS攻击,限制xStream对未知类的序列化和反序列化。 3. **XML布局控制** 通过配置,你可以控制XML的输出格式,如缩进、换行等。 4. **集合与数组的处理** xStream可以自动处理...
然而,处理XML数据时,解析和转换为可操作的对象是一个常见挑战。这时,XStream库就派上了用场。XStream是一个Java库,它能将Java对象序列化为XML,同时也能将XML反序列化为Java对象,极大地简化了XML处理过程。 ...
这个实例将深入探讨如何使用XStream进行XML操作。 **1. XStream简介** XStream是一个开源库,由Joe Walnes创建,它提供了Java对象到XML和XML到Java对象的直接映射。它的主要优点是其简洁的API和易于理解的输出。...
在IT行业中,XML(eXtensible Markup Language)是一种广泛使用的数据交换格式,它具有结构化、可读性强的...通过上述示例,你应该对XStream的基本操作有了清晰的认识,可以在实际项目中进一步探索其高级特性和功能。
这个工具类的目标就是利用xStream的功能,方便地将XML文档转换为Java Bean对象,以及将Bean对象转换为XML字符串。 xStream的核心思想是通过反射和类型映射来实现对象与XML之间的转换。它使用一种称为“annoation”...
本教程将深入探讨如何使用XStream进行XML操作。 一、XStream简介 XStream是一个开源库,由Johannes Link开发,它允许开发者以一种声明性方式将Java对象序列化为XML,然后又可以从XML还原回对象。XStream的核心理念...
**XStream XML解析** XStream 是一个开源的 Java 库,它提供了一种简单而有效的方式来将 Java 对象序列化为 XML 和从 XML 反序列化回 Java 对象。这个库的强大之处在于其简洁的API和对复杂Java对象模型的处理能力。...
标题 "xStream完美转换XML、JSON" 指的是使用xStream库在Java中进行XML与JSON数据格式之间的转换。xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样...
- 对实体对象进行进一步的操作。 ### 示例代码实践 #### 创建XStream实例 ```java XStream xstream = new XStream(); ``` #### 写入XML文件 ```java // 创建实体对象 Company company = new Company(); // ...
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项
XStream的核心是`XStream`类,它提供了`toXML()`方法用于将Java对象转换为XML字符串,以及`fromXML()`方法用于反向操作。要使用XStream,你需要先创建一个`XStream`实例,然后注册你想要序列化的类。 ```java ...
总的来说,使用Xstream解析XML文件并存入MySQL数据库是一个常见的数据处理任务,它涉及XML解析、Java对象映射以及数据库操作等多个技术点。通过合理地组织代码,可以高效地完成这项工作,实现数据的无缝迁移和存储。
xStream是一个轻量级的Java库,用于将Java对象序列化为XML,同时也能将XML反序列化回Java对象。这个强大的工具同样支持JSON格式,使得在Java应用程序中处理XML和JSON数据变得非常便捷。本篇文章将深入探讨xStream...
在压缩包中的"xml"文件可能是示例的XML数据,用于演示如何使用XStream进行序列化和反序列化操作。实际应用中,开发者可以根据这些知识对XML数据进行读取、解析和存储,提升开发效率和代码可读性。
在IT领域,XML(eXtensible Markup Language)是一种用于标记数据的标准格式,广泛应用于数据交换、配置存储以及...这些工具的结合使用,使得XML数据操作变得简单而高效,尤其适用于那些需要大量处理XML数据的项目。