0

JAXB.marshal(list,file.xml) を使用して XML ファイルを作成しています。それは完全に機能し、データをExcelまたはアクセスにインポートできます。ただし、すべての列は文字列としてインポートされますが、一部は double または date です。日付フィールドには @Temporal(javax.persistence.TemporalType.DATE) アノテーションを使用しました。datatyp を xml ファイルに保存するにはどうすればよいですか? それとも XML スキーマに保存する必要がありますか? もしそうなら、jpaで自動生成できますか?

編集:xmlおよびxsdファイルを生成できました:

XSD:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:complexType name="eintragListe">
<xs:sequence>
<xs:element name="Eintrag" type="eintrag" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="eintrag">
  <xs:sequence>
  <xs:element name="art" type="xs:string" minOccurs="0"/>
  <xs:element name="betrag" type="xs:double"/>
  <xs:element name="datum" type="xs:dateTime" minOccurs="0"/>
  <xs:element name="id" type="xs:int"/>
  <xs:element name="pa" type="xs:int"/>
  <xs:element name="typ" type="xs:string" minOccurs="0"/>
  <xs:element name="verwendung" type="xs:string" minOccurs="0"/>
</xs:sequence>
   </xs:complexType>
</xs:schema>

XML:

  <?xml version="1.0" encoding="UTF-8"?>
<ns2:eintragListe xmlns:ns2="www">
    <Eintrag>
        <art>Einmalig</art>
    <betrag>27.0</betrag>
    <datum>2012-06-01T00:00:00+02:00</datum>
    <id>601</id>
    <pa>-1</pa>
    <typ>Ausgabe</typ>
    <verwendung>Irgendswas</verwendung>
</Eintrag>
<Eintrag>
    <art>Einmalig</art>
    <betrag>17.0</betrag>
    <datum>2012-06-01T00:00:00+02:00</datum>
    <id>502</id>
    <pa>-1</pa>
    <typ>Ausgabe</typ>
    <verwendung>Irgendwasanderes</verwendung>
    </Eintrag>
</ns2:eintragListe>

これらのファイルをExcelにインポートしたかったのですが、スキーマがxmlファイルに適合しないというエラーが常に発生します。解決策はありますか?あなたの助けに感謝します:)

4

0 に答える 0