¿Cómo puedo crear clases que representan las estructuras complejas de etiquetas XML en google-api-java-cliente

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

  •  29-09-2019
  •  | 
  •  

Pregunta

Uso de la API-java-cliente de Google que he deducido que la biblioteca analiza el XML basado en las clases que se crean y las teclas que realice. Por ejemplo: si usted tiene el siguiente código XML:

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

A continuación, podría tener estas dos clases:

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

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

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

Y la biblioteca sería analizar el XML y crear las clases apropiadas (si he entendido bien)

Si ese es el caso, ¿cómo se representan una etiqueta XML que tiene dos atributos y un valor? Ejemplo:

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

En particular, estoy tratando de representar un registro como el siguiente para que pueda insertarlo en una hoja de cálculo de 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>

Además, cuando se documenta esto? No puedo encontrar la documentación pero tal vez simplemente no estoy buscando en el lugar correcto.

¿Fue útil?

Solución

La mejor documentación para el modelo de datos XML en el google-api-java biblioteca -client es la JavaDoc XML .

La anotación @key a utilizar con el atributo de nombre es "@ name". Por lo que sólo se echa en falta un personaje:)

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

Ver un ejemplo de la clase Enlace en el calendario-v2-átomo-oauth-muestra .

La revelación completa:. Soy un propietario del proyecto google-api-java-cliente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top