Comment puis-je créer des classes qui représentent des structures de balises XML complexes dans google-api-java-client

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

  •  29-09-2019
  •  | 
  •  

Question

Utilisation du google-api-java-client, je rassemblerai que la bibliothèque xml parse basée sur les classes que vous créez et les clés que vous faites. Par exemple: si vous avez le code XML suivant:

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

Ensuite, vous pourriez avoir ces deux classes:

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

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

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

Et la bibliothèque serait d'analyser le xml et créer les classes appropriées (si je comprends bien)

Si tel est le cas, comment peut-on représenter une balise XML qui a les attributs et une valeur? Exemple:

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

En particulier, je suis en train de représenter un dossier tel que le suivant afin que je puisse l'insérer dans une feuille de calcul docs google:

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

En outre, lorsque cela est documenté? Je ne peux pas trouver la documentation, mais peut-être que je ne suis pas regarder au bon endroit.

Était-ce utile?

La solution

La meilleure documentation du modèle de données XML dans le google-api-java bibliothèque -client est le XML JavaDoc .

L'annotation @Key à utiliser avec l'attribut name est "@name". Donc, il vous manque un seul caractère:)

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

Voir un exemple de la classe de lien dans la section calendrier-v2-atome-oauth-échantillon .

La divulgation complète:. Je suis propriétaire du projet google-api-java-client

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top