Javabeanはxstreamパッケージに基づいてXMLドキュメントを転送する方法を実現します。
本論文の実例は、Javabeanがxstreamパッケージに基づいてXMLドキュメントを転送する方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
1.必要なJarバッグ:
xpp 3_ミニ.jar
xstream.jar
この駅はダウンロードです。
この二つのjarをプロジェクトに追加します。
2.テスト用のjavabeanを2つ追加します。ProvinceとCity
XStream((zhi alias)()メソッドは、生成要素のTag名を変更することができ、Tag名を設定しないと、クラスの文字列形式でTag名として扱われます。例えば、Java.lang.String。
XStream(※)メソッドは、Javabeanの属性をxml元素の属性に変換することができます。
XStreamメソッドは、ListのようなJavabeanの集合要素を、それぞれの要素の中の要素が直接にサブ要素に変化し、これらのサブ要素の親要素として別の要素を生成することなく、Javabeanのセット要素にすることができる。
XStream((zhi addImplicitAray)方法はaddImplicit Collectionと同じで、ただ集合して配列になります。
以下はテストコードです。
オンラインXML/JSON相互変換ツール:
http://tools.jb51.net/code/xmljson
オンラインXML/オンライン圧縮XML:
http://tools.jb51.net/code/xmlformat
XMLオンライン圧縮/フォーマットツール:
http://tools.jb51.net/code/xml_フォーマットcompless
XMLコードオンラインフォーマット美化ツール:
http://tools.jb51.net/code/xmlcodeformat
javaアルゴリズムに関する詳細について興味がある読者は、当駅のテーマを見ることができます。「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ」
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。
1.必要なJarバッグ:
xpp 3_ミニ.jar
xstream.jar
この駅はダウンロードです。
この二つのjarをプロジェクトに追加します。
2.テスト用のjavabeanを2つ追加します。ProvinceとCity
class Province
{
private String name;//
private List<City> cities = new ArrayList<City>();
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public List<City> getCities()
{
return cities;
}
public void setCities(List<City> cities)
{
this.cities = cities;
}
public void addCity(City city)
{
cities.add(city);
}
}
class City
{
private String name;//
private String description;//
private String[] counties; //
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String[] getCounties()
{
return this.counties;
}
public void setCounties(String[] countries)
{
this.counties = countries;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
@Override
public String toString()
{
return "City [name=" + name + ", description=" + description + "]";
}
public City()
{
super();
}
public City(String name, String description)
{
super();
this.name = name;
this.description = description;
}
}
XStreamは、生成されたxml文書を文字列で返す方法toXMLを提供しています。XStream((zhi alias)()メソッドは、生成要素のTag名を変更することができ、Tag名を設定しないと、クラスの文字列形式でTag名として扱われます。例えば、Java.lang.String。
XStream(※)メソッドは、Javabeanの属性をxml元素の属性に変換することができます。
XStreamメソッドは、ListのようなJavabeanの集合要素を、それぞれの要素の中の要素が直接にサブ要素に変化し、これらのサブ要素の親要素として別の要素を生成することなく、Javabeanのセット要素にすることができる。
XStream((zhi addImplicitAray)方法はaddImplicit Collectionと同じで、ただ集合して配列になります。
以下はテストコードです。
package com.song.demo;
import java.util.ArrayList;
import java.util.List;
import com.thoughtworks.xstream.XStream;
public class BeanToXml
{
public static void main(String[] args)
{
// JavaBean
List<Province> proList = new ArrayList<Province>();
//
Province gdProvince = new Province();
gdProvince.setName(" ");
City gzCity = new City(" ", " ");
gzCity.setCounties(new String[]{" ", " ", " "});
gdProvince.addCity(gzCity);
gdProvince.addCity(new City(" ", " "));
//
Province bjProvince = new Province();
bjProvince.setName(" ");
bjProvince.addCity(new City(" ", " "));
bjProvince.addCity(new City(" ", " "));
proList.add(gdProvince);
proList.add(bjProvince);
// xml
// System.out.println(toXML1(proList));
// JavaBean ,
System.out.println(toXml2(proList));
}
private static String toXml2(Object obj)
{
XStream stream = new XStream();
// List
stream.alias(" ", List.class);
stream.alias(" ", Province.class);
stream.alias(" ", City.class);
stream.alias(" - ", String.class);
// Province name
stream.useAttributeFor(Province.class, "name");
// JavaBean , , :
// :
/*
* <cities>
* <city />
* <city />
* </cities>
*
* :
* <city />
* <city />
*/
// :cities List
stream.addImplicitCollection(Province.class, "cities");
// :counties String[]
stream.addImplicitArray(City.class, "counties");
return stream.toXML(obj);
}
}
テスト結果:
< >
< name=" ">
< >
<name> </name>
<description> </description>
< - > </ - >
< - > </ - >
< - > </ - >
</ >
< >
<name> </name>
<description> </description>
</ >
</ >
< name=" ">
< >
<name> </name>
<description> </description>
</ >
< >
<name> </name>
<description> </description>
</ >
</ >
</ >
PS:ここでxml操作に関するオンラインツールをいくつか提供します。参考にしてください。オンラインXML/JSON相互変換ツール:
http://tools.jb51.net/code/xmljson
オンラインXML/オンライン圧縮XML:
http://tools.jb51.net/code/xmlformat
XMLオンライン圧縮/フォーマットツール:
http://tools.jb51.net/code/xml_フォーマットcompless
XMLコードオンラインフォーマット美化ツール:
http://tools.jb51.net/code/xmlcodeformat
javaアルゴリズムに関する詳細について興味がある読者は、当駅のテーマを見ることができます。「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ」
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。