java - 从Excel工作表内容生成XML

标签 java xml excel

我有一个 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 对其进行验证。

具体要求如下:

  1. 阅读 MS-Excel 电子表格第二列和第三列的内容。
  2. 忽略内容不包含点分隔符的行
  3. 生成 xml
  4. 根据用户指定的 xsd 验证它

如何在 java 程序中完成此操作?

最佳答案

有几个Java库可以读取Excel文档,包括jxlJExcel 。 (您也可以考虑使用 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/

相关文章:

Java - repaint(x, y, w, h) 不调用 paintComponent?

java - JScrollPane 无法在空布局中工作

excel - 检查有效日期 - VBA

VBA循环遍历单元格范围失败

ios - 如何使用 swift 创建文字 XML 字符串

excel - 在取消隐藏工作表之前显示用户表单

java - 在 Windows LAF 下为每个组件的 JTextField 设置非 Activity 背景颜色

FileWriter和BufferedWriter之间的Java区别

mysql - 是否可以将 MySQL Workbench 文件保存为纯 XML?

java - 在 "firstUse"之后 onCreate 报告的 Android 首选项设置不一致——我的错,但是怎么样?