我有一个 xsd 和一个 MS-Excel 电子表格。 Excel 工作表包含 xsd 的所有元素/字段的类似 Xpath 的表示以及 xsd 中指定的相应数据类型。
例如,如果 xsd 包含如下元素:
<xsd:complexType name="person">
<xsd:all>
<xsd:element name="name" type="xsd:string" minOccurs="0"/>
<xsd:element name="age" type="xsd:string" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
Excel表格内容如下:
Column 2 (element/field name) Column 3 (data type)
person.name String
person.age String
我需要检查Excel表格的内容是否有效且完整。 因此,我想从 MS-Excel 电子表格生成 xml 文件,并根据现有的 xsd 对其进行验证。
具体要求如下:
- 阅读 MS-Excel 电子表格第二列和第三列的内容。
- 忽略内容不包含点分隔符的行
- 生成 xml
- 根据用户指定的 xsd 验证它
如何在 java 程序中完成此操作?
最佳答案
有几个Java库可以读取Excel文档,包括jxl和 JExcel 。 (您也可以考虑使用 CSV 文件(逗号分隔值),它比 Excel 更简单,而且不是专有的。)
要解析 XSD 文件,请使用 Java 的 built-in XML parser ,像这样:
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
Document doc = domBuilder.parse(new FileInputStream("file.xsd"));
关于java - 从Excel工作表内容生成XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663367/