كيف يمكنني إنشاء فئات تمثل هياكل علامة XML المعقدة في Google-API-Java-Client

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

  •  29-09-2019
  •  | 
  •  

سؤال

باستخدام google-api-java-client لقد جمعت أن المكتبة تحلل XML استنادًا إلى الفصول التي تنشئها والمفاتيح التي تقوم بها. على سبيل المثال: إذا كان لديك XML التالي:

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

ثم يمكن أن يكون لديك هاتين الفئتين:

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:

<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 للاستخدام مع سمة الاسم هو "name". لذلك أنت تفتقد شخصية واحدة فقط :)

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

انظر مثال على نهاية لهذه الغاية الفصل في التقويم-V2-ATOM-OAUTT.

الإفصاح الكامل: أنا مالك لمشروع Google-API-Java-Client.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top