来自XML的Excel和XSD

时间:2018-01-10 04:07:50

标签: xml parsing xsd

我正在寻找一种解析XML文档的方法,并将结果存储在Excel电子表格中。

生成的.xls表格将包含以下行:

  • 每个元素的xpath&属性
  • 以及有关元素的信息:
    • 节点的数据类型
    • 基数和验证(如果有的话)
    • xsd中指定的文档。

这将帮助我创建可在集成映射练习中使用的模板。我正在寻找使用哪个库的指针,或者是否有可用的实用程序并执行此操作。

1 个答案:

答案 0 :(得分:0)

你没有指定一种特定的编程语言,所以,我会在C#中为你提供我认识的作品......

尝试NPOI library以编程方式创建Excel文件(要求您的PC安装MS Office)

XSSFWorkbook wb1 = null;
using (var file = new FileStream("D:\\banding.xlsx", FileMode.Open, FileAccess.ReadWrite)) {
    wb1 = new XSSFWorkbook(file);
}
wb1.GetSheetAt(0).GetRow(0).GetCell(0).SetCellValue("Sample");

using (var file2 = new FileStream("D:\\banding2.xlsx", FileMode.Create, FileAccess.ReadWrite)) {
    wb1.Write(file2);
    file2.Close();
}

然后有大量关于如何使用Microsoft的System.Xml命名空间的文档parsing XML

UPDATE 对于Java:

与上面的答案类似,Apache POI library可用于创建实际的Excel文件。

然后,用Google搜索xml parsing in Java并选择选项......例如

导入与XML相关的包

 import java.io.*;
 import java.util.*;
 import org.jdom2.*;

创建DocumentBuilder

 SAXBuilder saxBuilder = new SAXBuilder();

从文件或流

创建文档
 File inputFile = new File("input.txt"); 
 SAXBuilder saxBuilder = new SAXBuilder(); 
 Document document = saxBuilder.build(inputFile);

提取根元素

 Element classElement = document.getRootElement();

检查属性

 //returns specific attribute 
 getAttribute("attributeName");

检查子元素

 //returns a list of subelements of specified name 
 getChildren("subelementName");  

 //returns a list of all child nodes 
 getChildren();  

 //returns first child node 
 getChild("subelementName");  

超越上述内容会将其变成代码编写服务,其中S.O明确地不是