我使用 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 文件。有解决办法吗?感谢四位您的帮助:)