【问题标题】:Programatic generation of xml from a xsd that uses other xsds从使用其他 xsd 的 xsd 以编程方式生成 xml
【发布时间】:2011-01-06 19:28:29
【问题描述】:

我有一个 xsd,它反过来使用/导入一组 xsd。 我想以编程方式从 xsd 生成示例 xml。 xml 必须包含所有元素和属性,这些元素和属性根据数据类型填充了示例数据。

如何使用 eclipse api 类来做到这一点? 还有其他工具可以完成这项任务并且可以在 java 程序或批处理文件中调用吗?

非常感谢任何指向示例/文档/api 的指针。

提前致谢。

【问题讨论】:

  • 嗨,乔,欢迎来到 SO!只是一个友好的提示,没有必要通过在标题中放置前导关键字来“标记”问题,标签为我们做到了。
  • java/xsd parsing 的可能重复项

标签: java xml eclipse


【解决方案1】:

如果我正确地阅读了您的问题,我相信您正在尝试做的是基于 XML Schema 文档(这可能反过来导入其他支持的 XSD)以编程方式生成(即使用 Java)XML 文档。

您可能希望查看 Oracle/Sun 的 JAXB(用于 Xml 绑定的 Java 架构),您可以在此处找到更多信息:

http://jaxb.java.net/

JAXB 可与 J2SE-SDK 和/或 IDE(例如 Netbeans 或 Eclipse)一起使用,并允许您根据需要解组(将 XML 文档读入映射的 Java 对象)或编组(将 Java 对象写为 XML 文档)。标准映射(称为绑定声明)是基于提供给 JAXB 的有效 XML Schema 提供的。您还可以通过直接在 XML Schema 文件中的自定义注释或使用外部 JAXB 声明来提供绑定声明。

另一种选择(类似于 JAXB)是 Apache 的 XML-Beans。

希望这会有所帮助!

【讨论】:

  • 我们决定不使用 JAXB 以避免生成 java 类并倾向于使用 eclipse API 使用。在那次努力中,我从stackoverflow.com/questions/1497064/… 的 Rich Seller 那里找到了有用的信息,我尝试了这个示例,它为元素生成了带有空内容的 xml。因此,我现在正在尝试增强代码以根据 xsd 中指定的数据类型为所有元素/属性(必需/可选)生成带有示例数据的 xml。我没有找到 eclipse claases 文档的正确链接来实现这一点。
  • 嗨乔,你是绝对正确的,这不容易找到Javadoc!我不得不四处寻找源代码。似乎(如 RichS 所述)您正在“无头”运行 UI 元素向导(即没有 UI)。我相信您已经想出的“唯一选择”是尽可能地扩展 XSD,以便从您的 ContentModel 中“生成”XML。例如。通过为属性指定“默认”值,您可以在生成的文件中获得这些值。祝你好运!
猜你喜欢
  • 2021-09-01
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 2011-08-28
  • 2018-06-30
相关资源
最近更新 更多