用Java读取XSD文件

用Java读取XSD文件,java,xml,web-services,xsd,schema,Java,Xml,Web Services,Xsd,Schema,我有一个工作流Web服务,其中有多个活动作为servicemethods公开。这些servicemethods具有各种参数。在Java中,我需要知道这些参数是什么 所以我想有一个XSD模式,我应该可以从中获得我想知道的信息。在Java中有没有从XSD文件中读取元素的方法?我的XSD基本上如下所示: <xs:element name='servicemethod'> <xs:complexType> <xs:sequence><xs

我有一个工作流Web服务,其中有多个活动作为servicemethods公开。这些servicemethods具有各种参数。在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做过类似的事情


非常感谢您的帮助

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

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

谢谢Michael

也许我的问题有点让人困惑。但更明确地说:我有一个worflow,作为IIS中的服务托管。我的所有工作流检索活动都作为webservice操作公开。但是所有这些操作都有参数,现在在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专家,所以很抱歉问你一些可能没有意义的问题

谢谢你,迈克尔

也许我的问题有点让人困惑。但更明确地说:我有一个worflow,作为IIS中的服务托管。我的所有工作流检索活动都作为webservice操作公开。但是所有这些操作都有参数,现在在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专家,所以很抱歉问你一些可能没有意义的问题

我的回答很想成为评论,所以请在帖子上看到我的回答。谢谢我的回答很想成为一个评论,所以请看我在帖子上的回答。ThanksBtw,XSD只能通过URL使用应该没有问题,我刚刚意识到一个简单的get请求就足以获取文档的内容。顺便说一句,XSD只能通过URL使用应该没有问题,我刚刚意识到一个简单的get请求就足以获取文档的内容。。