1

我有一个工作流 Web 服务,其中有多个活动作为服务方法公开。这些服务方法具有各种参数。在 Java 中,我需要知道这些参数是什么。

所以我想有一个 XSD 模式,我应该能够从中获取我想知道的信息。有没有办法从 Java 中的 XSD 文件中读取元素?我的 XSD 基本上是这样的:

<xs:element name='servicemethod'>
    <xs:complexType>
        <xs:sequence><xs:element name='parameterIWantToKnow'/></xs:sequence>
   </xs:complexType>
</xs:element>

在 Java 中,我确实知道“servicemethod”,但我想知道嵌套在这个 servicemethod 元素中的元素名称。

或者是否有类似将 XML 解析为 JSON 的东西,因为我之前在 Java 中使用 JSON 做过类似的事情。

很感谢任何形式的帮助!

4

2 回答 2

1

谢谢迈克尔。

也许我的问题有点令人困惑。但更明确地说:我有一个工作流,在 IIS 中作为服务托管。我所有的工作流程检索活动都公开为 Web 服务操作。但是所有这些操作都有参数,现在在 Java 中我想知道这些参数是什么。所以我想,通过阅读 XSD 文件,我可以检索这些名称吗?因为我的 XSD 是这样的:

<xs:element name='servicemethod'>
    <xs:complexType>
        <xs:sequence><xs:element name='parameterIWantToKnow'/></xs:sequence>
    </xs:complexType>
</xs:element>.

我确实知道 Java 中的 servicemethod 名称,现在我想知道嵌套在这个 servicemethod 元素中的元素名称。顺便说一句,我的 XSD 只能通过 URL 获得,而不是作为我电脑上的文件。

顺便说一句,我既不是 Java 专家也不是 XML 专家,很抱歉问了一些对你来说可能没有意义的问题..

于 2012-04-19T08:56:07.880 回答
0

这取决于你想对数据做什么(“消费”它不是很明确......)。XML Schema 是作为一组 XML 文档编写的,为了理解它,您通常需要该集合中的所有文档。要使用模式中的信息来回答合理的问题,例如“一个段落元素是否可以包含另一个段落元素?”,您将真的希望从已编译的模式(所谓的模式组件模型)而不是原始 XML 中工作. 有一个用于执行此操作的 Xerces API,称为 XSOM,或者 Saxon-EE 产品具有生成模式组件模型的 XML 表示的工具,可以使用 XPath 或 XQuery 进行处理。

于 2012-04-19T07:55:38.617 回答