Google-API-Java-Clientで複雑なXMLタグ構造を表すクラスを作成するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/3919034

  •  29-09-2019
  •  | 
  •  

質問

Google-API-Java-Clientを使用して、ライブラリが作成したクラスと作成したキーに基づいてXMLを解析することを収集しました。例:次のXMLがある場合:

<entry test="ok">
<link name="somewhere.org"/>
</entry>

次に、これらの2つのクラスを使用できます。

public class Entry
{
  @Key("@test")
  public String test;

  @Key("link")
  public Link link;
}

public class Link
{
  @Key("name")
  public String name;
}

ライブラリはXMLを解析し、適切なクラスを作成します(正しく理解している場合)

その場合、属性と値の両方を持つXMLタグをどのように表していますか?例:

<entry test="ok">
    <link name="somewhere.org">SomeValue</link>
</entry>

特に、次のようなレコードを表現しようとしているので、Google Docsスプレッドシートに挿入できます。

<entry xmlns="http://www.w3.org/2005/Atom"
    xmlns:gs="http://schemas.google.com/spreadsheets/2006">
  <title>Darcy</title>
  <gs:field name='Birthday'>2/10/1785</gs:field>
  <gs:field name='Age'>28</gs:field>
  <gs:field name='Name'>Darcy</gs:field>
  <gs:field name='CanVote'>No</gs:field>
</entry>

また、これはどこで文書化されていますか?ドキュメントは見つかりませんが、おそらく私は正しい場所を探していないだけです。

役に立ちましたか?

解決

のXMLデータモデルに最適なドキュメント Google-API-Java-Client ライブラリはです XML Javadoc.

名前属性で使用する@Key Annotationは「@name」です。だからあなたは1つの文字を欠いているだけです:)

public class Link
{
  @Key("@name")
  public String name;
}

の例を参照してください リンク のクラス カレンダー-v2-atom-oauth-sample.

完全な開示:私はGoogle-API-Java-Clientプロジェクトの所有者です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top