0

我使用 JAXB.marshal(list,file.xml) 编写 XML 文件。它运行良好,我可以将数据导入 excel 或访问。但所有列都作为字符串导入,尽管有些是双精度或日期。对于日期字段,我使用了 @Temporal(javax.persistence.TemporalType.DATE) 注释。如何将数据类型保存在 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