`
kkllmey
  • 浏览: 103371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java----对象序列化--和XML

阅读更多
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对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...

    java-xml相互转化

    总结来说,Java与XML的交互涉及到XML解析、对象序列化和反序列化,以及根据XML Schema自动生成JavaBean。通过选择合适的解析器和序列化库,并结合自动化工具,可以高效地在两者之间进行数据转换,提高开发效率。在...

    protobuf-java-2.5.0jar包

    开发者可以使用protobuf编译器(protoc)将.proto文件转换为Java类,这些类提供了序列化和反序列化的API,使得程序能够轻松地处理和解析protobuf格式的数据。 使用protobuf有以下几个关键步骤: 1. 定义数据结构:...

    Java-xml.rar_XML java_java xml_javaXML.rar_javaxml.r_xml 网站

    此外,"javaxml.r_xml"和"javaxml.r"标签可能指的是Java的JAXB框架,这是一个用于XML绑定的Java标准,可以自动将Java对象映射为XML文档,反之亦然。这大大简化了处理XML数据的过程,尤其是在构建Web服务或需要与XML...

    protoc.exe和protobuf-java-3.6.1集合

    4. **序列化和反序列化**:在Java代码中,使用生成的Java类实例化消息对象,填充字段,然后通过protobuf提供的方法进行序列化,将对象转换为字节流。反之,也可以从字节流反序列化回消息对象。 protobuf相比其他...

    使用 XStream 把 Java 对象序列化为 XML

    XStream是一个强大的Java库,它允许开发者轻松地将Java对象序列化为XML,反之亦然。这个库特别有用,因为它提供了直观且易于使用的API,使得XML数据绑定变得简单。 **XStream 库简介** XStream由Johannes Link创建...

    对象序列化成XMLDemo

    对象序列化是编程中一个重要的概念,特别是在Java和Android开发中。它允许我们将对象的状态转换为可存储或可传输的数据格式,例如XML。这个过程在Android应用开发中尤其有用,因为XML是一种常见的数据交换格式,可以...

    java-xml自动生成对象实体以及与xml相互转化.zip_Java doc转xml_java xml 转 实体_java 毕

    5. **对象与XML的转化**:将Java对象序列化为XML,通常使用JAXB或DOM来实现;将XML反序列化为Java对象,可以使用DOM、SAX或JAXB,其中JAXB最方便,因为它能自动处理映射。 6. **Java毕业设计**:这个主题可能表明这...

    java XML-PRC 类库

    4. **序列化和反序列化**:库负责将Java对象转换为XML格式,以便在网络上传输,同时也能将接收到的XML数据转换回Java对象。 5. **HTTP传输**:XML-RPC请求通常通过HTTP POST方法发送,这意味着它能利用HTTP的缓存...

    XStream <--> Java 对象序列化为 XML 互换

    使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...

    Java-XML-programming-examples.rar_java programming

    3. **JAXB(Java Architecture for XML Binding)**:JAXB允许我们将Java对象与XML文挡直接映射,实现对象到XML的序列化和反序列化。这种方式简化了XML数据的处理,尤其是在数据交换中。 4. **StAX(Streaming API ...

    C#和Java的序列化反序列化

    C#的XML序列化允许我们控制哪些字段和属性参与序列化,可以通过添加`[XmlElement]`、`[XmlAttribute]`等特性来指定。此外,C#还提供了JSON序列化库如Newtonsoft.Json(Json.NET),它在Web应用中广泛应用,支持更...

    Android-Android上的Java对象反序列化

    一、Java对象序列化与反序列化 1. **序列化**: 序列化是将Java对象转换为字节流的过程,以便于存储或传输。通过实现`java.io.Serializable`接口,一个Java对象可以获得序列化的能力。序列化不仅可以保存对象的状态...

    C#对象序列化与反序列化

    - **定义**:SOAP序列化是指将对象序列化成符合SOAP协议的XML文档。 - **实现类**:`SoapFormatter`类,位于`System.Runtime.Serialization.Formatters.Soap`命名空间下。 - **优点**:支持跨平台通信、易于调试...

    protobuf-java-3.5.1.jar

    4. **效率与跨平台**:protobuf以其高效性和跨平台性而著称,它生成的序列化数据比XML或JSON更小、更快,且易于在网络上传输和存储。 5. **版本兼容性**:protobuf设计了良好的版本兼容策略,允许新旧版本的消息...

    12xml序列化器

    1. **标准Java库**:Java标准库提供了一种名为`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`的机制,可以用来序列化和反序列化Java对象。然而,这种方法不直接支持XML,而是将对象转换为二进制格式。...

    xstream-1.1.3正反序列化JAVA对象

    5. 反序列化XML:如果有一个XML字符串,你可以通过调用`fromXML()`方法将其转换回Java对象。 ```java String xml = ... // 之前序列化的XML字符串 XStream xstream = new XStream(); Person deserializedPerson = ...

    simple-xml-2.7.1

    Simple-XML库是一款轻量级的开源项目,专为Java平台设计,提供了一种简洁的方式来序列化和反序列化XML数据。其核心在于通过注解(Annotations)将Java对象与XML结构紧密联系起来,大大简化了XML处理过程。该库的主要...

    android XML文件解析和序列化 demo

    这个"android XML文件解析和序列化 demo"旨在教你如何处理XML数据,包括解析XML文件以获取信息并将其存储为对象,以及将这些对象序列化回XML文件。下面我们将详细探讨这两个关键过程。 **XML解析** 1. **DOM解析器...

    protobuf-java-3.5

    在Java项目中,使用这个编译器可以生成解析和序列化 Protobuf 消息的Java类。 4. `jdk1.8`:这表示Java Development Kit(JDK)的版本1.8,是运行和开发Java程序所必需的环境。在这个情况下,可能是为了确保用户有...

Global site tag (gtag.js) - Google Analytics