将xml转换为表格并返回

时间:2014-03-14 19:24:36

标签: java vba xslt

我正在开发一个基于soapUI的项目,我希望能够动态生成XML并允许用户在excel中存储信息。

我想到了两种可能解决我问题的方法

第一个方法中,我会读取一个xml,从中生成Xpath,根据元素名称创建列,并维护一个xpath到列名称映射。然后我会使用这张地图动态生成xmls。我将使用XSLT实现所有这一切。我能够通过生成xpaths,根据元素名称创建列并保持xpath到列名称映射来取得一些进展。我使用XSLT完成了所有这一切,但遗憾的是我不擅长XSLT,所以当我无法将xpath转换为XML as can be seen from my question on SOthis one

时,我就陷入困境

second 方法中,我想要读取xml,创建一个类似于下面的表,并再次使用列名的元素名称。在这种情况下,我也会保持列名称为xml映射。我目前正在研究这种方法。

id  parent element
0     0     <soap:envelop>
1     0     <soap: head>

有一种第三种方法,其中我在xml元素和列名之间保持简单的一对一关系,并且只是动态生成xml。我还不确定这种方法将如何实施。

第二第三方法的问题在于,我还没有弄清楚如何处理属性和命名空间+命名空间网址。

我最后的退步是在代码中对xml进行硬编码并继续使用。我真的不想采用这种方法。

我更希望这个解决方案能够处理任何类型的xml,这样即使我不在身边,人们也可以使用它。

至于我需要帮助的地方,

  1. 你知道更好的办法吗?您可以提供代码示例或伪代码吗?
  2. 第一种方法可以帮助我使用XSLT吗?如果可以请put your answer at my question about it
  3. 对于第二种和第三种方法,你知道我如何处理属性和命名空间+命名空间url吗?你能提供代码或伪代码吗?
  4. 我现在绝望了......所以任何指导都会有所帮助,解决方案会很棒。
  5. 这个问题可能看起来过于宽泛,但我读到XY problem(感谢Mathias Muller),并决定描述我想要做的事情以及我想到或解决的解决方案,以便人们阅读此内容所有的信息都能提供答案吗?

    如果您仍然认为这篇文章过于宽泛,请告诉我,我会将解决方案分解为单独的问题。

    最后,这个解决方案需要在excel VBA中运行,但不应该阻止Java / groovy专家,因为我们可以使用a JAR in VBA ...是的!我很绝望。

1 个答案:

答案 0 :(得分:0)

如何关注本文并使用openxml直接写入Excel xml格式? http://www.jkp-ads.com/articles/Excel2007FileFormat02.asp