1 添加依赖
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
2 Domain1.java
import java.util.ArrayList;
import java.util.List;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
@Root(name="domain")
public class Domain1 {
@Element(name = "domain-id",required = false)
private String domainId;
@Element(name = "domain-name",required = false)
private String domainName;
@Element(name = "cname",required = false)
private String cname;
@Element(name = "enabled",required = false)
private boolean enabled;
@ElementList(name="cache-behaviors" , type = CacheBehavior.class, required = false)
private List<CacheBehavior> cacheBehaviors;
public void setDomainId(String domainId) {
this.domainId = domainId;
}
public String getDomainId() {
return domainId;
}
public void setDomainName(String domainName) {
this.domainName = domainName;
}
public String getDomainName() {
return domainName;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public void addCacheBehavior(CacheBehavior item) {
if (cacheBehaviors == null) {
cacheBehaviors = new ArrayList<CacheBehavior>();
}
cacheBehaviors.add(item);
}
public List<CacheBehavior> getCacheBehaviors() {
return cacheBehaviors;
}
public void setCacheBehaviors(List<CacheBehavior> cacheBehaviors) {
this.cacheBehaviors = cacheBehaviors;
}
3 CacheBehavior.java
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root(name="cache-behavior")
public class CacheBehavior {
@Element(name = "path-pattern",required = false)
private String pathPattern;
@Element(name = "ignore-cache-control",required = false)
private Boolean ignoreCacheControl;
@Element(name = "cache-ttl",required = false)
private long cacheTtl = -1;
@Element(name = "cache-unit",required = false)
private String cacheUnit="s";
@Element(name = "priority",required = false)
private Integer priority;
public String getPathPattern() {
return pathPattern;
}
public void setPathPattern(String pathPattern) {
this.pathPattern = pathPattern;
}
public Boolean isIgnoreCacheControl() {
return ignoreCacheControl;
}
public void setIgnoreCacheControl(boolean ignoreCacheControl) {
this.ignoreCacheControl = ignoreCacheControl;
}
public long getCacheTtl() {
return cacheTtl;
}
public void setCacheTtl(long cacheTtl) {
if(cacheTtl < 0){
cacheTtl = 0;
}
this.cacheTtl = cacheTtl;
}
public String getCacheUnit() {
return cacheUnit;
}
public void setCacheUnit(String cacheUnit) {
this.cacheUnit = cacheUnit;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
}
4 TestDomain1.java
import java.io.ByteArrayOutputStream;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
public class TestDomain1 {
public static void main(String[] args) {
Domain1 domain = new Domain1();
domain.setDomainName("http://baidu.com");
CacheBehavior cache = new CacheBehavior();
cache.setPathPattern("jpg;gif");
cache.setCacheTtl(10);
cache.setIgnoreCacheControl(false);
cache.setPathPattern("/(i|i2)/.*\\.(jpg|jpg2)");
domain.addCacheBehavior(cache);
domain.addCacheBehavior(cache);
Serializer serializer = new Persister();
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
serializer.write(domain, baos);
String xml = baos.toString("UTF-8");
System.out.println(xml);
Domain1 domain1 = serializer.read(Domain1.class,xml);
System.out.println(domain1.getDomainName());
}catch(Exception e){
e.printStackTrace();
}
}
5 输出结果
<domain>
<domain-name>http://baidu.com</domain-name>
<enabled>false</enabled>
<cache-behaviors class="java.util.ArrayList">
<cache-behavior>
<path-pattern>/(i|i2)/.*\.(jpg|jpg2)</path-pattern>
<ignore-cache-control>false</ignore-cache-control>
<cache-ttl>10</cache-ttl>
<cache-unit>s</cache-unit>
</cache-behavior>
<cache-behavior>
<path-pattern>/(i|i2)/.*\.(jpg|jpg2)</path-pattern>
<ignore-cache-control>false</ignore-cache-control>
<cache-ttl>10</cache-ttl>
<cache-unit>s</cache-unit>
</cache-behavior>
</cache-behaviors>
</domain>
http://baidu.com
6 结论
为啥会多个class="java.util.ArrayList",各种尝试无法去掉,有了解的道友请告诉我一下,谢谢!
<cache-behaviors class="java.util.ArrayList">
分享到:
相关推荐
赠送jar包:simple-xml-safe-2.7.1.jar; 赠送原API文档:simple-xml-safe-2.7.1-javadoc.jar; 赠送源代码:simple-xml-safe-2.7.1-sources.jar; 赠送Maven依赖信息文件:simple-xml-safe-2.7.1.pom; 包含翻译后...
simple-xml-safe-2.7.1.jar
simple-xml-2.6.2.jar主要用于模拟报文的类库,有需要的可以下载
然而,XML的解析和序列化通常需要借助于专门的库来实现,其中Simple-XML就是一个高效且易于使用的库。本篇文章将深入探讨Simple-XML库,包括其核心特性、安装方法、使用示例以及与其他XML解析库的对比。 ### 1. ...
5. **文档和示例**:下载的Simple-XML-2.7.1压缩包包含了所需的jar文件,供开发者直接引入项目使用。同时,附带的doc文件提供了详细API文档,帮助开发者快速理解和掌握库的使用方法。还有demo示例代码,展示如何实现...
simple-xml-2.3.4.jar非常好用的序列化java类的工具类包
接下来,我们将简要介绍如何使用Simple XML库进行XML解析和序列化: 1. **XML反序列化**:首先,你需要一个包含注解的Java类,这些注解描述了XML元素和属性。然后,使用`SerializationHelper.deserialize()`方法,...
赠送jar包:simple-xml-safe-2.7.1.jar; 赠送原API文档:simple-xml-safe-2.7.1-javadoc.jar; 赠送源代码:simple-xml-safe-2.7.1-sources.jar; 赠送Maven依赖信息文件:simple-xml-safe-2.7.1.pom; 包含翻译后...
在"simple-xml_xml"这个场景下,我们假设有一个名为`SimpleXmlProcessor`的类,它包含了以上所述的功能。这个类可能有以下方法: 1. **解析XML文件**:`parseXmlFile(String filePath)` - 使用DOM或SAX解析器加载...
通过使用“simple-xml2object-1.0.0”,开发者可以避免手动编写XML解析代码,减少出错的可能性。例如,一个XML文档中的用户信息可以被转换为User对象,包括用户名、年龄等属性。 对象到XML的转换同样重要。当需要将...
使用 Simple,开发人员可以简化(名字由此而来)将简单老 Java 对象(POJO)转换成 XML 文档的过程 — 即所谓的序列化(serialization)过程。Simple 也可促进相反的过程:开发人员可以将 XML 文档转换成 POJO — 即...
simple-xml-2.7.1.jar
安装只需在项目目录中使用NPM进行安装npm安装simple-xml-to-json用法和API1. convertXML(xmlToConvert [,customConverter]) xmlToConvert <字符串> customConverter <功能> 返回:默认情况下为,如果使用...
在Perl中,XML-Simple模块是一个广泛使用的工具,用于简化XML文档的读取和写入过程。 XML-Simple模块的核心理念是将复杂的XML结构转换为易于处理的Perl数据结构,如哈希或数组,反之亦然。这样,开发者可以利用Perl...
simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。
simple-xml-2.6.4.jar
xxoo(取x2o和o2x之意)是simple-xml2object的一个RELEASE版本,博主修复了一些bug,源码已在github以apacheV2协议开源,地址https://github.com/xiaolongzuo/xxoo。 简介:xxoo是一个简单实用的xml和JAVA对象转换...
simple-easy-xml-parser XML parsing is now sexy! Description A simple, high performance, typed XML parser based upon Android sax parser but written in pure Java. SEXP gives callbacks for all parsing ...
Perl开发者经常使用XML-Simple来处理XML数据,因为它提供了一种相对直观的方式来读写XML文件,而不需要深入了解底层的XML解析机制。 XML(eXtensible Markup Language)是一种标记语言,常用于数据交换和存储,尤其...
VTD(Variable Length Tokenized Document)XML是一种基于变量长度标记的XML解析技术,与DOM(Document Object Model)和SAX(Simple API for XML)不同。DOM将整个XML文档加载到内存中形成一棵树形结构,而SAX是...