English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Xstream 객체를 xml로 시리얼라이즈하고 역시리얼라이즈하는 라이브러리입니다. 매핑 파일이 필요하지 않습니다. 주의하세요, castor는 매핑 파일이 필요합니다.
XStreamMarshaller 객체를 xml로编组和 다시 역환환하는 기능을 제공하는 클래스입니다.
Xstream를 사용하여 다음 파일을 생성하려면 Spring을 사용해야 합니다:
Employee.java applicationContext.xml Client.java
이 예제를 실행하려면 다음을 로드해야 합니다:
Spring Core jar 파일 Spring Web jar 파일 xstream-1.3.jar
core, web, aop, mvc, j와 같은 spring 모든 jar 파일을 다운로드하세요.2ee, remoting, oxm, jdbc, orm 등.
xstream 다운로드-1.3.jar
Employee.java
만약 세 가지 속성 id, setter와 getters의 이름과 급여가 정의되어 있다면。
package com.w3codebox; public class Employee { private int id; private String name; private float salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSalary() { return salary; } public void setSalary(float salary) { this.salary = salary; } }
applicationContext.xml
它定义了一个Bean xstreamMarshallerBean,其中Employee类与OXM框架绑定。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="xstreamMarshallerBean" class="org.springframework.oxm.xstream.XStreamMarshaller"> <property name="annotatedClasses" value="com.w3codebox.Employee"></property> </bean> </beans>
Client.java
它从applicationContext.xml文件获取Marshaller的实例并调用marshal方法。
package com.w3codebox; import java.io.FileWriter; import java.io.IOException; import javax.xml.transform.stream.StreamResult; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.oxm.Marshaller; public class Client{ public static void main(String[] args) throws IOException{ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Marshaller marshaller = (Marshaller)context.getBean("xstreamMarshallerBean"); Employee employee=new Employee(); employee.setId(101); employee.setName("Sonoo Jaiswal"); employee.setSalary(100000); marshaller.marshal(employee, new StreamResult(new FileWriter("employee.xml"))); System.out.println("XML Created Sucessfully"); } }
employee.xml
<com.w3codebox.Employee> <id>101</id> <name>Sonoo Jaiswal</name> <salary>100000.0</salary> </com.w3codebox.Employee>