public class XMLUtil implements java.io.Serializable{
private String user = null;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public static void main(String[] args) {
xml();
writeSerializable();
readSerializeable();
}
//将对象序列化写
public static void writeSerializable() {
try {
XMLUtil util = new XMLUtil();
util.setUser("wang");
FileOutputStream outs = new FileOutputStream("D:/serializable.ini");
ObjectOutputStream objOuts = new ObjectOutputStream(outs);
objOuts.writeObject(util);
objOuts.flush();
objOuts.close();
outs.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
//将对象序列化写读
public static void readSerializeable(){
try{
FileInputStream inputs = new FileInputStream("D:/serializable.ini");
ObjectInputStream objInputs = new ObjectInputStream(inputs);
XMLUtil xmlUtil = (XMLUtil)objInputs.readObject();
objInputs.close();
inputs.close();
System.out.println(xmlUtil.getUser());
}catch(Exception ex){
ex.printStackTrace();
}
}
//读写xml文档
public static void xml() {
// <?xml version="1.0" encoding="UTF-8"?>
// <school>
// <student>
// <name>Berry</name>
// <age>20</age>
// <score>88</score>
// </student>
// <student>
// <name>Lisa</name>
// <age>21</age>
// <score>95</score>
// </student>
// </school>
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("src/stu.xml");
NodeList names = doc.getElementsByTagName("name");
NodeList ages = doc.getElementsByTagName("age");
NodeList score = doc.getElementsByTagName("score");
System.out.println(names.item(0).getFirstChild().getNodeValue());
System.out.println(names.item(1).getFirstChild().getNodeValue());
System.out.println(ages.item(0).getFirstChild().getNodeValue());
System.out.println(ages.item(1).getFirstChild().getNodeValue());
System.out.println(score.item(0).getFirstChild().getNodeValue());
System.out.println(score.item(1).getFirstChild().getNodeValue());
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...
总结来说,Java与XML的交互涉及到XML解析、对象序列化和反序列化,以及根据XML Schema自动生成JavaBean。通过选择合适的解析器和序列化库,并结合自动化工具,可以高效地在两者之间进行数据转换,提高开发效率。在...
开发者可以使用protobuf编译器(protoc)将.proto文件转换为Java类,这些类提供了序列化和反序列化的API,使得程序能够轻松地处理和解析protobuf格式的数据。 使用protobuf有以下几个关键步骤: 1. 定义数据结构:...
此外,"javaxml.r_xml"和"javaxml.r"标签可能指的是Java的JAXB框架,这是一个用于XML绑定的Java标准,可以自动将Java对象映射为XML文档,反之亦然。这大大简化了处理XML数据的过程,尤其是在构建Web服务或需要与XML...
4. **序列化和反序列化**:在Java代码中,使用生成的Java类实例化消息对象,填充字段,然后通过protobuf提供的方法进行序列化,将对象转换为字节流。反之,也可以从字节流反序列化回消息对象。 protobuf相比其他...
XStream是一个强大的Java库,它允许开发者轻松地将Java对象序列化为XML,反之亦然。这个库特别有用,因为它提供了直观且易于使用的API,使得XML数据绑定变得简单。 **XStream 库简介** XStream由Johannes Link创建...
对象序列化是编程中一个重要的概念,特别是在Java和Android开发中。它允许我们将对象的状态转换为可存储或可传输的数据格式,例如XML。这个过程在Android应用开发中尤其有用,因为XML是一种常见的数据交换格式,可以...
5. **对象与XML的转化**:将Java对象序列化为XML,通常使用JAXB或DOM来实现;将XML反序列化为Java对象,可以使用DOM、SAX或JAXB,其中JAXB最方便,因为它能自动处理映射。 6. **Java毕业设计**:这个主题可能表明这...
4. **序列化和反序列化**:库负责将Java对象转换为XML格式,以便在网络上传输,同时也能将接收到的XML数据转换回Java对象。 5. **HTTP传输**:XML-RPC请求通常通过HTTP POST方法发送,这意味着它能利用HTTP的缓存...
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
3. **JAXB(Java Architecture for XML Binding)**:JAXB允许我们将Java对象与XML文挡直接映射,实现对象到XML的序列化和反序列化。这种方式简化了XML数据的处理,尤其是在数据交换中。 4. **StAX(Streaming API ...
C#的XML序列化允许我们控制哪些字段和属性参与序列化,可以通过添加`[XmlElement]`、`[XmlAttribute]`等特性来指定。此外,C#还提供了JSON序列化库如Newtonsoft.Json(Json.NET),它在Web应用中广泛应用,支持更...
一、Java对象序列化与反序列化 1. **序列化**: 序列化是将Java对象转换为字节流的过程,以便于存储或传输。通过实现`java.io.Serializable`接口,一个Java对象可以获得序列化的能力。序列化不仅可以保存对象的状态...
- **定义**:SOAP序列化是指将对象序列化成符合SOAP协议的XML文档。 - **实现类**:`SoapFormatter`类,位于`System.Runtime.Serialization.Formatters.Soap`命名空间下。 - **优点**:支持跨平台通信、易于调试...
4. **效率与跨平台**:protobuf以其高效性和跨平台性而著称,它生成的序列化数据比XML或JSON更小、更快,且易于在网络上传输和存储。 5. **版本兼容性**:protobuf设计了良好的版本兼容策略,允许新旧版本的消息...
1. **标准Java库**:Java标准库提供了一种名为`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`的机制,可以用来序列化和反序列化Java对象。然而,这种方法不直接支持XML,而是将对象转换为二进制格式。...
5. 反序列化XML:如果有一个XML字符串,你可以通过调用`fromXML()`方法将其转换回Java对象。 ```java String xml = ... // 之前序列化的XML字符串 XStream xstream = new XStream(); Person deserializedPerson = ...
Simple-XML库是一款轻量级的开源项目,专为Java平台设计,提供了一种简洁的方式来序列化和反序列化XML数据。其核心在于通过注解(Annotations)将Java对象与XML结构紧密联系起来,大大简化了XML处理过程。该库的主要...
这个"android XML文件解析和序列化 demo"旨在教你如何处理XML数据,包括解析XML文件以获取信息并将其存储为对象,以及将这些对象序列化回XML文件。下面我们将详细探讨这两个关键过程。 **XML解析** 1. **DOM解析器...
在Java项目中,使用这个编译器可以生成解析和序列化 Protobuf 消息的Java类。 4. `jdk1.8`:这表示Java Development Kit(JDK)的版本1.8,是运行和开发Java程序所必需的环境。在这个情况下,可能是为了确保用户有...