`
zgax
  • 浏览: 20865 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

simple-xml使用

 
阅读更多
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">
分享到:
评论

相关推荐

    simple-xml-safe-2.7.1-API文档-中文版.zip

    赠送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-safe-2.7.1.jar

    simple-xml-2.6.2.jar

    simple-xml-2.6.2.jar主要用于模拟报文的类库,有需要的可以下载

    simple-xml jar包

    然而,XML的解析和序列化通常需要借助于专门的库来实现,其中Simple-XML就是一个高效且易于使用的库。本篇文章将深入探讨Simple-XML库,包括其核心特性、安装方法、使用示例以及与其他XML解析库的对比。 ### 1. ...

    simple-xml-2.7.1

    5. **文档和示例**:下载的Simple-XML-2.7.1压缩包包含了所需的jar文件,供开发者直接引入项目使用。同时,附带的doc文件提供了详细API文档,帮助开发者快速理解和掌握库的使用方法。还有demo示例代码,展示如何实现...

    simple-xml-2.3.4.jar

    simple-xml-2.3.4.jar非常好用的序列化java类的工具类包

    simple-xml-2.7.1.rar

    接下来,我们将简要介绍如何使用Simple XML库进行XML解析和序列化: 1. **XML反序列化**:首先,你需要一个包含注解的Java类,这些注解描述了XML元素和属性。然后,使用`SerializationHelper.deserialize()`方法,...

    simple-xml-safe-2.7.1-API文档-中英对照版.zip

    赠送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-Class-test.rar_simple-xml_xml

    在"simple-xml_xml"这个场景下,我们假设有一个名为`SimpleXmlProcessor`的类,它包含了以上所述的功能。这个类可能有以下方法: 1. **解析XML文件**:`parseXmlFile(String filePath)` - 使用DOM或SAX解析器加载...

    simple-xml2object-1.0.0

    通过使用“simple-xml2object-1.0.0”,开发者可以避免手动编写XML解析代码,减少出错的可能性。例如,一个XML文档中的用户信息可以被转换为User对象,包括用户名、年龄等属性。 对象到XML的转换同样重要。当需要将...

    Simple-xml-2.7.1

    使用 Simple,开发人员可以简化(名字由此而来)将简单老 Java 对象(POJO)转换成 XML 文档的过程 — 即所谓的序列化(serialization)过程。Simple 也可促进相反的过程:开发人员可以将 XML 文档转换成 POJO — 即...

    simple-xml-2.7.1.jar

    simple-xml-2.7.1.jar

    simple-xml-to-json:XML Transpiler到JSON

    安装只需在项目目录中使用NPM进行安装npm安装simple-xml-to-json用法和API1. convertXML(xmlToConvert [,customConverter]) xmlToConvert &lt;字符串&gt; customConverter &lt;功能&gt; 返回:默认情况下为,如果使用...

    XML-Simple-2.18.tar.gz

    在Perl中,XML-Simple模块是一个广泛使用的工具,用于简化XML文档的读取和写入过程。 XML-Simple模块的核心理念是将复杂的XML结构转换为易于处理的Perl数据结构,如哈希或数组,反之亦然。这样,开发者可以利用Perl...

    xml和JAVA对象转换 simple-xml2object

    simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。

    simple-xml

    simple-xml-2.6.4.jar

    xxoo-1.0.0.RELEASE(原xml和JAVA对象转换 simple-xml2object)

    xxoo(取x2o和o2x之意)是simple-xml2object的一个RELEASE版本,博主修复了一些bug,源码已在github以apacheV2协议开源,地址https://github.com/xiaolongzuo/xxoo。 简介:xxoo是一个简单实用的xml和JAVA对象转换...

    Android代码-simple-easy-xml-parser

    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 ...

    XML-Simple-2.20

    Perl开发者经常使用XML-Simple来处理XML数据,因为它提供了一种相对直观的方式来读写XML文件,而不需要深入了解底层的XML解析机制。 XML(eXtensible Markup Language)是一种标记语言,常用于数据交换和存储,尤其...

    vtd-xml源码+例程

    VTD(Variable Length Tokenized Document)XML是一种基于变量长度标记的XML解析技术,与DOM(Document Object Model)和SAX(Simple API for XML)不同。DOM将整个XML文档加载到内存中形成一棵树形结构,而SAX是...

Global site tag (gtag.js) - Google Analytics