【问题标题】:Programmatic examination of XSD in JavaJava中XSD的程序化检查
【发布时间】:2012-03-13 22:19:32
【问题描述】:

我希望能够以编程方式读取 XSD,提示用户输入所需元素的值,然后生成适当的 XML 字符串。我不希望实现绑定到特定的 XSD 定义,而是能够读取并提示任何提供的 XSD。它应该获取元素的名称并请求适当类型的输入(int、string 等)。

我发现很多地方解释了如何读取 XSD 并使用它来验证提供给应用程序的一些 XML。然而,我还没有找到任何方法来找出定义了哪些元素、哪些类型以及具有哪些属性。我找到了SchemaFactorySchema,但无法获取有关架构的任何信息,只是如何使用它进行验证。有谁知道从架构中获取元素信息的方法?

【问题讨论】:

    标签: java xsd


    【解决方案1】:

    我不确定我是否完全理解您想要做什么,但请考虑一下:

    XSD 本身就是 XML 文档,并且有一个用于 XSD 文档的 XSD。

    因此,将 XSD 解析为普通 XML 文档并尝试提取您需要的信息。

    您甚至可以使用上述 XSD XSD 生成 JAXB 类。

    【讨论】:

    • 你能举个小例子,或者把我链接到一个显示它的资源吗?我的 google-fu 今天似乎很弱,我找不到任何有用的东西。
    • 我已经为从 XSD 生成的 JAXB 类找到了 xjc,但这可以在运行时完成吗?
    • XSD 只有一个 XSD,因此您可以在编译时生成类,然后在运行时将它们用作 any XSD 的对象模型
    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 2020-07-27
    • 2012-01-06
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2016-09-04
    相关资源
    最近更新 更多