`
zhangziyangup
  • 浏览: 1186907 次
文章分类
社区版块
存档分类
最新评论

Commons Betwixt 五步

 
阅读更多
稍微复杂一点的应用实例,idf项目所用的xml更为复杂头晕中
packagebetwixt;

/***//**
*
*/


/***//**
*
@authorhuyunan
*
*
*2007aspire
*/

publicclassMusic
...{

privateStringname;

privateStringmp3File;

publicMusic()
...{

}


/***//**
*
@returnthename
*/

publicStringgetName()
...{
returnthis.name;
}


/***//**
*
@paramname
*thenametoset
*/

publicvoidsetName(Stringname)
...{
this.name=name;
}


/***//**
*
@returnthemp3File
*/

publicStringgetMp3File()
...{
returnthis.mp3File;
}


/***//**
*
@parammp3File
*themp3Filetoset
*/

publicvoidsetMp3File(Stringmp3File)
...{
this.mp3File=mp3File;
}


}

packagebetwixt;

/***//**
*
*/


/***//**
*
@authorhuyunan
*
*
*2007aspire
*/

publicclassDoc
...{

privateStringversion;

privateStringname;

privateStringurl;

publicDoc()
...{

}


/***//**
*
@returnthename
*/

publicStringgetDocName()
...{
returnthis.name;
}


/***//**
*
@paramname
*thenametoset
*/

publicvoidsetName(Stringname)
...{
this.name=name;
}


/***//**
*
@returntheurl
*/

publicStringgetUrl()
...{
returnthis.url;
}


/***//**
*
@paramurl
*theurltoset
*/

publicvoidsetUrl(Stringurl)
...{
this.url=url;
}


/***//**
*
@returntheversion
*/

publicStringgetVersion()
...{
returnthis.version;
}


/***//**
*
@paramversion
*theversiontoset
*/

publicvoidsetVersion(Stringversion)
...{
this.version=version;
}


}

Doc.betwixt
<?xmlversion="1.0"encoding="UTF-8"?>
<infoprimitiveTypes="element">
<elementname="docResource">
<attributename="version"property="version"/>
<elementname="contentUrl"property="url"/>
<addDefaults/>
</element>
</info>

/***//**
*
*/

packagebetwixt;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

/***//**
*
@authorhuyunan
*
*
*2007aspire
*/

publicclassResource
...{

privateStringversion;

privateStringname;

privateStringauthor;

privateDocdoc;

privateMusicmusic;

privateList<Doc>docList;

privateList<Music>musicList;

privateHashMap<String,Doc>docMap;

privateintdocsSize;

privateintmusicsSize;

publicResource()
...{
docList
=newArrayList<Doc>();
musicList
=newArrayList<Music>();
docMap
=newHashMap<String,Doc>();
}


publicvoidaddToDocMap(Stringkey,Docdoc)
...{
docMap.put(key,doc);
}


publicMapgetDocMap()
...{
returndocMap;
}


publicvoidaddToDocList(Docdoc)
...{
docList.add(doc);
docsSize
=docList.size();
}


publicvoidaddToMusicList(Musicmusic)
...{
musicList.add(music);
musicsSize
=musicList.size();
}


/***//**
*
@returnthedocsSize
*/

publicintgetDocsSize()
...{
returnthis.docsSize;
}


/***//**
*
@paramdocsSize
*thedocsSizetoset
*/

publicvoidsetDocsSize(intdocsSize)
...{
this.docsSize=docsSize;
}


/***//**
*
@returnthedocList
*/

publicList<Doc>getDocList()
...{
returnthis.docList;
}


/***//**
*
@returnthename
*/

publicStringgetName()
...{
returnthis.name;
}


/***//**
*
@paramname
*thenametoset
*/

publicvoidsetName(Stringname)
...{
this.name=name;
}


/***//**
*
@returntheauthor
*/

publicStringgetAuthor()
...{
returnthis.author;
}


/***//**
*
@returnthedoc
*/

publicDocgetDoc()
...{
returnthis.doc;
}


/***//**
*
@paramdoc
*thedoctoset
*/

publicvoidsetDoc(Docdoc)
...{
this.doc=doc;
}


/***//**
*
@paramauthor
*theauthortoset
*/

publicvoidsetAuthor(Stringauthor)
...{
this.author=author;
}


/***//**
*
@returntheversion
*/

publicStringgetVersion()
...{
returnthis.version;
}


/***//**
*
@paramversion
*theversiontoset
*/

publicvoidsetVersion(Stringversion)
...{
this.version=version;
}


/***//**
*
@returnthemusic
*/

publicMusicgetMusic()
...{
returnthis.music;
}


/***//**
*
@parammusic
*themusictoset
*/

publicvoidsetMusic(Musicmusic)
...{
this.music=music;
}


/***//**
*
@returnthemusicList
*/

publicList<Music>getMusicList()
...{
returnthis.musicList;
}


/***//**
*
@returnthemusicsSize
*/

publicintgetMusicsSize()
...{
returnthis.musicsSize;
}


/***//**
*
@parammusicsSize
*themusicsSizetoset
*/

publicvoidsetMusicsSize(intmusicsSize)
...{
this.musicsSize=musicsSize;
}


}

Resource.betwixt
<?xmlversion="1.0"encoding="UTF-8"?>
<infoprimitiveTypes="element">
<elementname="sync">
<attributename="version"property="version"/>
<elementname="resource">
<!--
<hideproperty="name"/>
-->
<elementname="musicRes"property="music"/>
<elementname="docList">
<attributename="docsSize"property="docsSize"/>
<elementname="doc"property="docList"/>
</element>
<elementname="musicList">
<attributename="musicsSize"property="musicsSize"/>
<elementname="music"property="musicList"/>
</element>
<elementname="docMap">
<elementname="doc"property="docMap"/>
</element>
<addDefaults/>
</element>
</element>
</info>

测试代码
Docdoc=newDoc();
doc.setName(
"doc_name");
doc.setUrl(
"doc_url");
doc.setVersion(
"1.0.0");
Musicmusic
=newMusic();
music.setName(
"music_name");
music.setMp3File(
"music_mp3file");
Resourceresource
=newResource();
resource.setVersion(
"1.0.0");
resource.setDoc(doc);
resource.setMusic(music);
resource.setName(
"resource_name");
resource.setAuthor(
"resource_author");
//
resource.addToDocList(doc);
resource.addToDocList(doc);
resource.addToMusicList(music);
resource.addToMusicList(music);
//
resource.addToDocMap("doc1",doc);
//resource.addToMap("mucis1",music);
//
WriteroutputWriter=newFileWriter("e:/test.xml");
BeanWriterbeanWriter
=newBeanWriter(outputWriter);

/***//**
*beanWriter.getXMLIntrospector().getConfiguration().setElementNameMapper(new
*org.apache.commons.betwixt.strategy.DecapitalizeNameMapper());
*beanWriter.getXMLIntrospector().getConfiguration().setElementNameMapper(new
*org.apache.commons.betwixt.strategy.CapitalizeNameMapper());
*beanWriter.getXMLIntrospector().getConfiguration().setElementNameMapper(new
*org.apache.commons.betwixt.strategy.HyphenatedNameMapper());
*/


//beanWriter.getXMLIntrospector().getConfiguration().setPluralStemmer(new
//ChinesePluralMapper());
beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(
false);
beanWriter.enablePrettyPrint();
beanWriter.setEndTagForEmptyElement(
true);
beanWriter.setIndent(
" ");
//
beanWriter.writeXmlDeclaration("<?xmlversion='1.0'?>");
beanWriter.write(resource);
outputWriter.close();

输出结果
<?xmlversion='1.0'?>
<syncversion="1.0.0">
<resource>
<musicRes>
<mp3File>music_mp3file</mp3File>
<name>music_name</name>
</musicRes>
<docListdocsSize="2">
<docversion="1.0.0">
<contentUrl>doc_url</contentUrl>
<docName>doc_name</docName>
</doc>
<docversion="1.0.0">
<contentUrl>doc_url</contentUrl>
<docName>doc_name</docName>
</doc>
</docList>
<musicListmusicsSize="2">
<music>
<mp3File>music_mp3file</mp3File>
<name>music_name</name>
</music>
<music>
<mp3File>music_mp3file</mp3File>
<name>music_name</name>
</music>
</musicList>
<docMap>
<doc>
<key>doc1</key>
<valueversion="1.0.0">
<contentUrl>doc_url</contentUrl>
<docName>doc_name</docName>
</value>
</doc>
</docMap>
<author>resource_author</author>
<docversion="1.0.0">
<contentUrl>doc_url</contentUrl>
<docName>doc_name</docName>
</doc>
<name>resource_name</name>
</resource>
</sync>




















分享到:
评论

相关推荐

    commons-betwixt-0.8的相关文件

    Apache Commons Betwixt 是一个Java库,它提供了一种方式来映射XML文档到Java对象,反之亦然。这个库使得开发人员可以方便地在XML数据和Java对象之间进行转换,大大简化了数据交换和序列化的过程。"commons-betwixt-...

    commons-betwixt-0.8.rar源文件及jar包

    Apache Commons Betwixt 是一个Java库,它提供了一种简单的方式来映射对象到XML以及从XML反向映射回对象。这个库是基于Apache软件基金会的Jakarta Commons项目,旨在简化XML数据绑定任务,使得开发者可以专注于业务...

    java使用commons-betwixt 实现bean与xml互转

    Java中的Apache Commons Betwixt库提供了一个简单的方法来映射Java Bean对象和XML文档之间的数据,使得在处理数据交换时能轻松地实现bean到XML的转换和XML到bean的反转换。本篇文章将深入探讨如何使用Commons ...

    commons-betwixt-0.5-src.zip_ObjectStringConvert_commons-betwixt_

    Apache Commons Betwixt 是一个Java库,它简化了JavaBean对象与XML文档之间的相互转换。这个工具包的核心功能在于,它允许开发者自动地将JavaBean的属性映射到XML结构,反之亦然,极大地提高了开发效率,尤其是在...

    commons-betwixt-0.8.jar

    commons-betwixt-0.8.jar

    betwixt详细使用说明

    此外,如果你需要将 XML 转换为 Java 对象,还需要引入 `commons-digester-1.8.jar`,因为 Betwixt 在进行反向转换时依赖于 Commons Digester。 接下来,我们来看一个简单的示例(example1),演示如何将一个 Java ...

    orgapache_commons

    包括commons-beanutils-1.8.0-bin、commons-betwixt-0.8、commons-cli-1.1、commons-codec-1.3、commons-collections-3.2.1-bin、commons-digester-1.8、commons-discovery-0.4、commons-email-1.1-bin、commons-...

    org.apache.commons相关的所以jar包

    commons-betwixt-0.8.zip;commons-cli-1.1.zip;commons-codec-1.3.zip;commons-collections-3.2.1-bin.zip;commons-digester-1.8.zip;commons-discovery-0.4.zip;commons-email-1.1-bin.zip;commons-...

    xml操作之betwixt实例

    **XML操作之Betwixt实例** XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java开发中,处理XML时,Betwixt是一个非常有用的库,它由Apache软件...

    xml转换java对象

    Apache Commons Betwixt库提供了一种简单的方法来实现这个转换。 Apache Commons Betwixt是Apache软件基金会的一个项目,它提供了一个用于XML到Java对象绑定的工具。通过使用Betwixt,开发者可以轻松地将XML文档...

    commons整理的常用的jar包,希望对你们有用

    commons-betwixt-0.8、 commons-cli-1.1、 commons-codec-1.3、 commons-collections-3.2.1-bin、 commons-digester-1.8、 commons-discovery-0.4、 commons-email-1.1-bin、 commons-fileupload-1.2.1-bin、...

    Apache Commons 所有包最新版本 含SRC (6/7)

    commons-attributes-2.2-src.zip commons-attributes-2.2.zip commons-beanutils-1.8.0-BETA-src.zip commons-beanutils-1.8.0-BETA.zip commons-betwixt-0.8-src.zip commons-betwixt-0.8.zip ...

    apache-commons源文件1,包括src,doc,jar,最新的

    commons-betwixt-0.8.zip commons-chain-1.2-bin.zip commons-cli-1.2-bin.zip commons-codec-1.7-bin.zip commons-collections-3.2.1-bin.zip commons-compress-1.4.1-bin.zip commons-configuration-1.9-bin.zip ...

    commons jar

    5. **commons-betwixt-0.8.jar**:Apache Commons Betwixt是一个对象到XML绑定工具,可以帮助将Java对象序列化为XML,以及从XML反序列化回Java对象。0.8版本提供了一种声明性的方式来描述对象和XML之间的映射。 6. ...

    Apache Commons 所有包最新版本 含SRC (1/7)

    commons-attributes-2.2-src.zip commons-attributes-2.2.zip commons-beanutils-1.8.0-BETA-src.zip commons-beanutils-1.8.0-BETA.zip commons-betwixt-0.8-src.zip commons-betwixt-0.8.zip ...

    Apache Commons 所有包最新版本 含SRC (5/7)

    commons-attributes-2.2-src.zip commons-attributes-2.2.zip commons-beanutils-1.8.0-BETA-src.zip commons-beanutils-1.8.0-BETA.zip commons-betwixt-0.8-src.zip commons-betwixt-0.8.zip ...

    apache commons 常用jar包 commons-validator commons-transaction commons-lang等

    jar包大小:135KB commons-validator-1.3.1.jar jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar jar包大小:60KB commons-pool-1.3....

    apache commons jar(commons所有的jar包,从官网下载提供给大家)

    daemon-1.0.15-bin commons-dbutils-1.6-bin commons-digester3-3.2-bin commons-el-1.0 commons-email-1.4-bin commons-fileupload-1.0 commons-fileupload-1.1.1 commons-fileupload-1.1 commons-file upload-...

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    Apache Commons 所有包最新版本 含SRC (7/7)

    commons-attributes-2.2-src.zip commons-attributes-2.2.zip commons-beanutils-1.8.0-BETA-src.zip commons-beanutils-1.8.0-BETA.zip commons-betwixt-0.8-src.zip commons-betwixt-0.8.zip ...

Global site tag (gtag.js) - Google Analytics