我有一个xsd和一个MS-Excel电子表格。 excel表包含xpath的所有元素/字段的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进行验证。
要求详情如下:
如何在java程序中完成?
答案 0 :(得分:1)
有几个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"));
答案 1 :(得分:0)
您可以使用XInclude将值插入到文档中。这里有一个例子:Default support for xinclude in Java 6?
您需要编写自己的实体解析器,然后可以读取Excel文件并在那里找到正确的值。我对jxl没有任何经验,但JExcel是一个用于处理Excel文件的可靠库。
答案 2 :(得分:0)
如果您安装了Informatica DT,https://community.informatica.com/solutions/b2bdt_automation_template_excel_generator怎么样?您可以通过java生成脚本,并使用java!
在命令行上执行它