Wie erstelle ich Klassen, die komplexen XML-Tag-Strukturen in google-api-java-Client darstellen

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

  •  29-09-2019
  •  | 
  •  

Frage

Mit dem Google-api-java-client ich gesammelt haben, dass die Bibliothek die XML auf die Klassen basiert parst Sie erstellen und die Tasten, die Sie machen. Zum Beispiel: Wenn Sie das folgende XML haben:

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

Dann könnte man diese beiden Klassen hat:

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

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

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

Und die Bibliothek würde die XML und erstellen die entsprechenden Klassen analysieren (wenn ich es richtig verstehe)

Wenn das der Fall ist, wie kann man einen XML-Tag dar, die beiden Attribute und einen Wert hat? Beispiel:

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

Insbesondere Ich versuche, einen Rekord, wie die folgenden zu vertreten, damit ich es in eine Google Text & Tabellen-Tabelle einfügen:

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

Auch wo dies dokumentiert? Ich kann nicht in die Dokumentation finden, aber vielleicht bin ich einfach nicht an der richtigen Stelle suchen.

War es hilfreich?

Lösung

Die beste Dokumentation für das XML-Datenmodell in der google-api-java -client Bibliothek ist die XML JavaDoc .

Die @Key Anmerkung mit dem Namen Attribute zu verwenden ist „@name“. Sie sind also nur fehlt ein Zeichen:)

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

Sehen Sie ein Beispiel für die Link Klasse in der Kalender-v2-Atom-Probe-oauth .

Vollständige Offenlegung:. Ich bin Inhaber des google-api-java-Client-Projektes

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top